0

私はこのクエリを持っていますが、何が間違っているのかわかりません:

 mysql_query ("UPDATE 'users' SET 'profile'='".$file_path."'WHERE 'id'=".(int)$user_id)or die ("Error in query: $query. ".mysql_error());

ここにエラーがあります: クエリのエラー: 。SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

4

8 に答える 8

2

likebackticksの代わりに試してみてくださいsingle-quotes

 mysql_query ("UPDATE `users` 
               SET `profile`='".$file_path."' 
               WHERE `id`=".(int)$user_id)
  or die ("Error in query: $query. ".mysql_error());

また、プレフィックス で名前が付けられたすべての関数を提供する拡張機能全体が現時点で公式に非推奨であり、将来的に削除されるためmysql_*、ステートメントを避けるようにしてください。ext/mysql PHPmysql_*PHP v5.5.0

より適切に使用できる他の 2 つのMySQL拡張機能があります:MySQLiPDO_MySQLで、どちらも の代わりに使用できますext/mysql

于 2013-08-26T12:37:21.280 に答える
2

引用符はバックティックであることになっています。クエリを次のように変更します。

mysql_query("UPDATE `users` SET `profile` = '".$file_path."' WHERE `id` = ".(int)$user_id);

無関係なメモ:非推奨の mysql_*
関数 は使用しないでください。これらは将来削除される予定です。代わりにPDOまたはmysqliを使用してください。

于 2013-08-26T12:38:24.037 に答える
1

列名とテーブル名を一重引用符で囲み、代わりにバッククォートを使用します

     mysql_query ("UPDATE `users` SET profile='".$file_path."'
                   WHERE id = '".(int)$user_id."' ")
     or die ("Error in query: $query. ".mysql_error());
于 2013-08-26T12:43:55.013 に答える
1

試す

mysql_query ("UPDATE users SET profile='".$file_path."' WHERE id=".(int)$user_id)or die ("Error in query: $query. ".mysql_error());
于 2013-08-26T12:38:20.337 に答える
1

このクエリを使用

  mysql_query ("UPDATE users SET profile='".$file_path."' WHERE id=".(int)$user_id) or die ("Error in query: $query. ".mysql_error());
于 2013-08-26T12:39:37.373 に答える
0

正引用符の代わりに逆引用符を SQL クエリに入れ、' と WHERE 句の間にスペースを入れてみてください。

クエリは次のようになります。

mysql_query ("UPDATE `users` SET `profile`='".$file_path."' WHERE `id`=".(int)$user_id)
or die ("Error in query: $query. ".mysql_error());
于 2013-08-26T12:43:09.007 に答える