2011-06-24 61 views
0
<?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(); 

我不斷收到mysql_num_rows()錯誤

Error: Query was empty with query SELECT * FROM vbots WHERE ID=1"

我該如何解決呢? 我從mysql_num_rows()獲取它,寫入die("Error: ". mysql_error(). " with query ". $query);以獲取更多信息。

謝謝!

+0

'$ NUM = mysql_query'是,意思是'$ NUM = mysql_num_rows'? – AbstractChaos

+0

你確定這是代碼運行嗎? –

+2

爲什麼要創建$ query變量而不使用它?你甚至不用你的代碼中的mysql_num_rows()函數。 –

回答

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(); 
+0

沒關係,我的錯,謝謝! – virusbogdan

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) 
+0

+1爲徹底的答案。 –

0

我認爲你需要首先檢查一下查詢結果。

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

我想你忘記了選擇數據庫:

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