0

次のように、数値が最小のエントリをクエリしてから、データベースの数値を値+1に更新しようとしています。

$ras = db_query("SELECT name,number FROM {people} ORDER BY number DESC LIMIT 1"); 
$raw = db_fetch_array($ras);
$com_name = $raw['name'];
$count = $raw['number']+1;
db_query("UPDATE {people} (number) SET ('%d') WHERE name='%s'", $count, $com_name);

エラーが発生しました:SQL構文にエラーがあります。使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。ここで何が問題になっていますか?

4

1 に答える 1

4

あなたのSET条項は間違っています。

これを試して:

db_query("UPDATE {people} SET number = '%d' WHERE name='%s'", $count, $com_name);

またはこれ(number列がINTタイプの場合:

db_query("UPDATE {people} SET number = %d WHERE name='%s'", $count, $com_name);

削除された引用符に注意してください。

于 2013-02-06T21:01:14.750 に答える