« 2009年07月14日 | メイン | 2009年07月16日 »

2009年07月15日

PHP内でSQL文を書くとき気をつけること

PHP内でmysql_query()を使ってSQL文を書くのがまだ慣れず、
ミスばっかするし複雑になるしで困ってたところ、以下のページを発見。

Mysql UPDATE出来ません
http://oshiete1.goo.ne.jp/qa3663217.html

回答者が言ってる通り、以下のことを意識して書くとミスが減る!
(1)SQL文はヒアドキュメントをつかう
(2)テーブルやフィールドはバッククォート、値はシングルクォートでくくる
(3)変数は{$hoge}形式で参照する
(4)SQL文の最後になるべく;はつけない
(5)エラーはmysql_error()で確認する。

因みに書き方の例としては、これもコピペになっちゃうけど
$sql=<<<eof
UPDATE `{$DATANAME}`
SET `rem`='{$new_rem}'
WHERE `id`='{$id}'
eof;

$result=mysql_query($sql) or die($sql.mysql_error());

因みにバッククォートは、[ Shift + @ ] で打てる。