2011-12-02 144 views
0

Possible Duplicate:
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given errormysql_num_rows()资源警告

任何人都可以告诉我做错了什么吗?我不断收到错误:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in....

这是正常的连接,但我觉得我在我的查询有语法错误,但它是相当直截了当。

我已检查并重新检查,数据库和表名称正确。

我在本地使用WAMP运行。

这里是PHP代码:

$con = mysql_connect("localhost","",""); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_select_db("decoys", $con); 
$query = "select * FROM vendorcolor"; 
$result = mysql_query($query); 
echo 'x'.mysql_num_rows($result).'x'; 
mysql_close($con); 
+0

http://us3.php.net/mysql_num_rows:如果出现故障,将返回false,这就是为什么你得到'boolean given'消息。当你的查询看起来不错时,需要检查你的连接参数。 –

+0

你确定表vendorcolor存在吗? – konsolenfreddy

+0

在PHPMyAdmin中运行您的查询。如果工作正常,请检查您的连接变量。 –

回答

0

mysql_query()的回报,如果有查询的错误错误。你可能想这样做:

if ($result) 
{ 
    echo 'x'.mysql_num_rows($result).'x'; 
} 

确保你的页面在MySQL错误后继续。

与此同时,请尝试使用mysql_error()打印出错误并查看实际发生的情况。

+0

感谢您的意见。这是自创建wamp以来我第一个完成的php脚本。我添加了另一个用户,它的工作。我很惊讶它没有给其他连接上的错误。我会怀疑mysql在尝试执行select时创建了一个错误。我怎么看到这个错误? – user999684

+0

'mysql_error()'函数应该会显示MySQL遇到的最后一个错误。如果它适用于其他用户,我想这是一个权限问题。试试看看是否有帮助。 –

0

为什么不这样做

$con = mysql_connect("localhost","",""); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_select_db("decoys", $con); 
$query = "select COUNT(*) as count FROM vendorcolor"; 
$result = mysql_fetch_assoc(mysql_query($query)); 
echo $result[0]['count']; 
mysql_close($con); 
+0

这是一个很好的解决方案,但并不是我得到这个数字的原因,这就是为什么我得到这个重要的错误。 – user999684

0
$con = mysql_connect("localhost","",""); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_select_db("decoys", $con); 
$query = "select * FROM vendorcolor"; 
$result = mysql_query($query) or die(mysql_error()); 
echo 'x'.mysql_num_rows($result).'x'; 
mysql_close($con); 

使用or die(mysql_error())显示了一个错误,如果适用这样你就可以解决这个问题。

+0

非常好。谢谢您的帮助。我已经完成了大量的数据库编程,但是对于mysql来说还是比较新的,不知道细微之处。 – user999684

相关问题