0

こんにちは、アイデアをすばやくテストするために以前に使用したコードを使用しようとしていますが、次のエラーが発生し続けます。

警告: mysql_num_rows() は、パラメーター 1 がリソースであると想定します。

$result = mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address");
$num_rows = mysql_num_rows($result);
if( $num_rows > 0 ) {
4

6 に答える 6

1

これはおそらく、SQL 要求が失敗したためです。or die(mysql_error())次のように、mysql_query の隣に追加してみてください。

$result = mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address") or die(mysql_error());

これによりエラーが出力され、修正できるようになります。

編集:そして、そのエラーが何であるかの手がかりを与えることもできます. リクエストの最後に、後に一重引用符を閉じていません$ip_address

于 2013-04-28T20:51:55.813 に答える
0
("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() AND ip_address='$ip_address'")

SQL ステートメントの最後に ' がありませんでした。他のすべての SQL キーワードは大文字で書かれているため、"AND" を大文字で書く必要があります (必須ではありませんが、読みやすいです)。

おそらく、欠落している ' がクエリを修正します。

于 2013-04-28T20:54:22.057 に答える
0

クエリに構文エラーがあります。$ip_address変更した直後に引用符がありません

$result = mysql_query("SELECT * FROM  masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address'");
于 2013-04-28T20:52:10.150 に答える
0

これを試して。一重引用符が1つありません...

 $result = mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address' ");
于 2013-04-28T20:52:40.100 に答える
0

クエリが間違っているため、そのエラーが発生し続けます。

mysql_query("SELECT * FROM masterip_details WHERE timedate(datetime) = CURDATE() and ip_address='$ip_address"

後に引用符がありません$ip_address

于 2013-04-28T20:52:44.003 に答える
0

ここに一重引用符がありませんand ip_address='$ip_address'")

これを見てください: PHP で mysql_* 関数を使用すべきではないのはなぜですか?

于 2013-04-28T20:53:37.613 に答える