4

次のようなクエリがあります。

$sql = "UPDATE tbl SET amt_field='amt_field+1' WHERE username='" .mysql_real_escape_string($_SESSION['username']). "'";
        mysql_select_db('db',$con);
        mysql_query($sql,$con);

できるだけ簡単に値を増やしたい。

私が試してみました:

"UPDATE tbl SET amt_field='amt_field+1' WHERE

"UPDATE tbl SET amt_field='amt_field' + 1 WHERE

"UPDATE tbl SET amt_field='amt_field++' WHERE

エラー メッセージは表示されませんが、データベースの値も増加しません。

4

2 に答える 2

9
UPDATE tbl SET amt_field = amt_field + 1 WHERE ...

一重引用符を使用する'と、囲まれた値が文字列として解釈されるように指示されます。おそらく、目盛りについて考えていたでしょう。これも有効です:

UPDATE tbl SET `amt_field` = `amt_field` + 1 WHERE ...

これは、列 (​​またはテーブルなど) に予約名がある場合に使用する必要があります。

于 2010-07-25T22:46:49.360 に答える