3
SELECT * FROM dislikes WHERE pid = $post AND uid = $userid AND like = 1;

このクエリは機能しません (理由はわかりません)。mysqli を使用してこのクエリを実行し、num 行を検索しようとすると、

注意: 13 行目で C:\wamp\www\include\like.php の非オブジェクトのプロパティを取得しようとしています

ご存知のように、テーブル dislikes は現在空で、id、pid、uid、like の 4 つの列があります。

編集:

echo "SELECT * FROM dislikes WHERE pid = $post AND uid = $userid AND like = 1;";
$result = $mysqli->query("SELECT * FROM dislikes WHERE pid = $post AND uid = $userid AND like = 1;");
$row_cnt = $result->num_rows;

これはphpコードです。最初の行の出力からのエコー:

SELECT * FROM dislikes WHERE pid = 2 AND uid = 3 AND like = 1;
4

1 に答える 1

9

LIKEはSQLの予約語です。

SQL 予約語と競合する列名を区切る必要があります。

SELECT * FROM dislikes WHERE pid = $post AND uid = $userid AND `like` = 1;

しかし、エラーの説明は、mysqli_query() が有効なクエリ結果ではなくfalseを返したことです。関数の戻り値をチェックして、それがfalseではなくリソースであることを確認する必要があります。

参照- PHP でこのエラーはどういう意味ですか?

于 2013-09-14T09:56:09.423 に答える