2013-08-05 40 views
-4

附件是我的search.php中的代碼,但我有線上的錯誤9.爲什麼我得到一個「mysql_fetch_array()期望參數1是資源」錯誤?

我得到以下PHP的錯誤:

while($row = mysql_fetch_array($results)){ 
下面

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\series\insert\Search.php on line 9

第9行代碼是我的完整代碼:

<?php 
if($_GET){ 
    $search=$_GET['search']; 
    $connect =mysql_connect("localhost","root",""); 
    if($connect){ 
     mysql_select_db("b_database",$connect); 
     $query = "SELECT * FROM b_database WHERE search='". $search . "'"; 
     $results=mysql_query($query); 
     while($row = mysql_fetch_array($results)){ 
      echo $row['isbn']. "<br/>". $row['title']. "<br/>"; 
     } 
    }else{ 
     die(mysql_error()); 
    } 
} 
?> 
<form action="" method="GET"> 
    <table style="border:1px solid silver" cellpadding="10px" cellspacing="0px" align="center"> 
     <tr><td colspan="4" style="background:#0066FF; color:#FFFFFF; fontsize:20px">Search Record</td></tr> 
     <tr> 
      <td>Enter Search </td> 
      <td><input type="text" name="search" size="40" /></td> 
      <td><input type="submit" value="Go" /></td> 
     </tr> 
    </table> 
</form> 

爲什麼我得到這個錯誤?

+1

首先,您的代碼完全開放給SQL注入。 – Jared

+0

試着在數據庫上執行你的sql,看看你的查詢是否正確。 – sanders

+0

**沒有** mysql_ *'函數的支持**,它們是[**正式棄用**](https ://wiki.php.net/rfc/mysql_deprecation),**不再維護**,並將[**刪除**](http://php.net/manual/en/function.mysql-connect。 php#warning)。您應該使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/msqli)更新您的代碼,以確保您的項目未來的功能。 –

回答

1
$query = "SELECT * FROM b_database WHERE search='". $search . "'"; 
$results=mysql_query($query) or die(mysql_error()); 

我覺得你$results回報bool(false)

問題在您的查詢:

SELECT * FROM b_database WHERE search='". $search . "' 
// b_database is a database not table. 
0

檢查如果查詢無效,或者如果它返回false。

$query = "SELECT * FROM b_database WHERE search='". $search . "'"; 
$results = mysql_query($query); 
if(!$results){ 
    die('Invalid query'); 
}else{ 
    // Continue with the code 
} 
相關問題