mysql_num_rows()错误

时间:2011-06-24 14:14:26

标签: php mysql mysqli rows mysql-num-rows

<?php
$id=$_GET['id'];
$username="xxx";
$password="xxx";
$database="xxx";
$host="xxx";
mysql_connect($host,$username,$password);
$con = mysql_connect("$host","$username","$password");

$id=$_POST['ID'];
$query="SELECT * FROM vbots WHERE ID=$id";
$result = mysql_query("SELECT * FROM vbots");
$num=mysql_query($result,$con) or die("Error: ". mysql_error(). " with query ". $query);
mysql_close();

我一直在

  

错误:查询为空,查询为空   SELECT * FROM vbots WHERE ID = 1“

我该如何解决? 我从mysql_num_rows()获取它,写了die("Error: ". mysql_error(). " with query ". $query);以获取更多信息。

谢谢!

4 个答案:

答案 0 :(得分:2)

您的代码应为

$id=$_POST['ID'];
$query="SELECT * FROM vbots WHERE ID=$id";
$result = mysql_query($query, $con) or die("Error: ". mysql_error(). " with query ". $query);
$num=mysql_num_rows($result);
mysql_close(); 

您正在使用

$num=mysql_query($result,$con)

答案 1 :(得分:1)

您将某些内容与您的查询混在一起。

$result = mysql_query("SELECT * FROM vbots");
$num=mysql_query($result,$con); //! $result is already a result from a query. 
//You can't 'query a result'…

所以这应该有效:

$id=$_GET['id'];
$username="xxx";
$password="xxx";
$database="xxx";
$host="xxx";
$con = mysql_connect($host,$username,$password);
if (!mysql_select_db($database))
    die("Can't select database");

$id=$_POST['ID'];
$query="SELECT * FROM vbots WHERE ID=$id";
$result = mysql_query($query);
echo mysql_num_rows($result);
mysql_close();

答案 2 :(得分:0)

我认为您首先需要检查查询结果。

if (!$result) {
    //handling empty set or error
}

答案 3 :(得分:0)

我想您忘了选择数据库:

if (!mysql_select_db($database))
    die("Can't select database");