0

私は現在、ブール値をmysqlに格納するためにtinyintを使用しており、データベースにクエリを実行しようとしていますが、失敗します。私が得ているエラーは、私がWarning: mysql_num_rows() expects parameter 1 to be resource, boolean given間違っていなければ、クエリが機能しなかったことを意味します。クエリを投稿する前に、クエリに実質的に非推奨のphpを使用しているとしましょう。ただし、実際には稼働しておらず、実際にすばやく動作する必要があります。私はこれらのものがすべて更新されていることを知っているので、関連する資料を自由に共有してください(私はそのまま追いつく必要があります)が、私が探している解決策は私の古い学校の質問です。クエリは次のとおりです。

$sql = mysql_query("SELECT * FROM contact ORDER BY id ASC WHERE read='0'");

ここで、readは問題のtinyintです。

私は試しましWHERE read=0WHERE read=false

これらはどれも機能していません。事前に助けていただければ幸いです。

4

1 に答える 1

4

クエリを正しく構成する必要があります。

"SELECT * FROM contact WHERE read=0 ORDER BY id ASC"

WHEREはORDERBYの前にあります。

さらに、「mysql_num_rows()はパラメーター1がリソースであることを期待しています」が発生しています。これは、リソースではなく、失敗したクエリでメソッドを呼び出しているためです。クエリ自体で次のような適切なエラーが発生する可能性がありますが、mysql_query("SELECT... your query") or die(mysql_error())公式には、PDOまたはmysqliに移行 し、それぞれのエラー報告ユーティリティを使用することをお勧めします。

于 2012-11-29T20:30:41.707 に答える