所以,我是所有这些PHP和MySQL以及动态编码和新东西的新手。 所以我感谢一些帮助,无论如何让我们陷入错误。 我收到这个错误:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a3047131/public_html/core/inc/ipban.inc.php on line 6
以下是代码:
`<?php
// Check if user is banned
function check_banned($ip) {
$query = mysql_query("SELECT ip FROM Index WHERE ip='$ip'");
if(mysql_num_rows($query) != 0) {
die("This ip <b>$ip</b> has been banned from this website!");
} else {
return false;
}
}
?> `
非常感谢你们!我很感谢支持,这真棒! 真的很感激,错误现在已经解决了,感谢您帮助我,感谢所有的回复! :)谢谢。
答案 0 :(得分:0)
如果您要查看documentation
$query = sprintf("SELECT `ip` FROM `Index` WHERE `ip`='%s'",
mysql_real_escape_string($ip));
$result = mysql_query($query);
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
$row = mysql_num_rows($result);
// check if it exists
if ($row > 0) {
die("This ip <b>$ip</b> has been banned from this website!");
} else {
return false;
}
答案 1 :(得分:0)
您使用的是表名index
。这个名字由mysql保留。这意味着它由mysql自己使用,如SELECT
。
要解决此问题,您有两种方法:
使用反引号,您的查询将如下所示:
SELECT ip FROM `Index` WHERE ip='$ip'
另外请看一下这个页面,它确实列出了我的mysql保留的所有关键字。 http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html
答案 2 :(得分:-1)
你应该这样做:
function check_banned($ip) {
$banned = mysql_result(mysql_query("SELECT ip FROM `Index` WHERE ip='$ip'"));
if($banned)
die("This ip <b>$ip</b> has been banned from this website!");
return false;
}