2012-11-08 48 views
-4

可能重複:
PHP (MySQL) error : 「Warning: mysql_num_rows() expects parameter 1 to be resource」PHP錯誤信息:警告:mysql_num_rows()預計參數1是資源,布爾

我試圖得到一個AJAX的這個PHP頁面功能工作。

以下是錯誤訊息,當我嘗試運行它:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/ftpbpan/public_html/ThornAJAX/info.php on line 10 

線10爲:

**$num_rows = mysql_num_rows($query);** 

<?php 
$connect = mysql_connect("localhost","****","******") or die("didnot connect to database"); 

mysql_select_db("people"); 

if(strlen($_GET['user']) >0){ 
$name = $_GET['user']; 
$query = mysql_query("select * from info where name='$name' limit 1"); 
$num_rows = mysql_num_rows($query); 

if($num_rows == 1) { 
    $row = mysql_fetch_assoc($query); 
+2

您是否檢查過右側的任何鏈接? – jeroen

+0

mysql_query返回成功時的結果,錯誤時返回false。我會說你的查詢中有錯誤。 'mysql_'庫也被棄用。 – Jrod

+0

請不要使用'mysql_ *'函數來編寫新代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。請參閱* [紅盒子](http://goo.gl/GPmFd)*?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 –

回答

0

如果您正在使用LIMIT 1,你不能假定有要麼是1行或0行?所以,如果我是你,我使用的是過時的方法來與MySQL數據庫交互,我會用:

$query = mysql_query("SELECT * FROM info WHERE name='$name' LIMIT 1")or die(mysql_error()); 
if ($query && mysql_num_rows($query)) { 
    // A result was found 
    $row = mysql_fetch_array($query); 
} else { 
    //There were no results found 
} 

話又說回來,你應該閱讀:

Please, don't use mysql_* functions in new code。他們不再被維護,並且已經開始了它。請參閱 red box?請改爲了解prepared statements,並使用 PDOMySQLi - this article將幫助您決定哪個。如果您選擇 PDO,here is a good tutorial

+0

感謝你們所有的幫助......對不起,我是一個完整的新手。這裏是我正在處理的頁面: http://www.bpanzullo.com/ThornAJAX/Ajaxindex.html 我只把名字保羅放到數據庫中進行測試 這個幫我縮小了錯誤,我嘗試mysqli而不是msql,但創建了更多的錯誤,我在數據庫錯誤中得到了一個沒有用戶名Paul,Paul是我放入來測試這個數據庫的唯一人員。該數據庫被稱爲人,我使用的表(有很多)稱爲peopleTwo,這裏是幾乎工作的代碼: –

+0

<?$ mysql = mysql_connect('localhost','****','******')或死(mysql_error()); mysql_select_db('people'); if(strlen($ _ GET ['user'])> 0){ $ name = $ _GET ['user']; $ query = mysql_query(「select * from peopleTwo where name ='$ name'limit 1」); if(false === $ query){ die(mysql_error()); } $ num_rows = mysql_num_rows($ query); if($ num_rows == 1){ \t $ row = mysql_fetch_assoc($ query); –

相關問題