0

問題が発生しました。Google で検索しましたが、見つかりませんでした。

$result = mysqli_query($link,"SELECT * FROM  update ");

エラー

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in

クエリを次のように変更すると:

$result = mysqli_query($link,"SELECT * FROM  `update` ");

できます。何故ですか?

4

4 に答える 4

4

updateは MySQL の予約語です。

常にバッククォートを使用する必要があります

`

そのようなエラーを避けるために、`table``column`の名前に

予約語一覧

于 2013-08-09T23:48:30.590 に答える
3

これらは「グレイブ アクセント」ではありません (アクセントは文字の上に置かれます)。それらはバッククォートです。

フィールド名をバッククォートで囲んで、それらがフィールド名であり、関数、演算子、コマンドなどではないことを示すことになっています。

通常はそれを行わなくても済みます (そして、かなり慣れているようです!) が、名前が実際に MySQL の予約済みキーワード(たとえば、 ) である場合は、UPDATEできません。

于 2013-08-10T00:08:44.743 に答える
1

UPDATE は MySQL のキーワードであるため、エラーが発生します (select 内で更新を開始しているため、mysql はかなり混乱しています)。このような状況を回避するために、基本的にデータベース、テーブル、および列の名前を `` の間に入れることをお勧めします。また、mysqli_query返されたものを確認する必要があります。この場合、オブジェクトfalseの代わりに取得しているmysqli_resultため、エラーメッセージを読むことができます「近くにエラーがあります...クエリ構文を確認してください」よりも、とにかく何か問題があることがわかります;)):

if (!($result = mysqli_query($link, $query))) {
    die('MySQLi error: ' . mysqli_error($link));
}
于 2013-08-09T23:52:20.717 に答える