mysql_num_rows()跟mysql_fetch_row()的錯誤,該如何改正?

edited 十月 2013 in PHP新手區
系統環境XPsp2,php5.14,MySQL5.0.22,appserv2.56

<?require 'connectdb.php';?>//連結資料庫

<table border=0>
<form method="POST" action="search.php">
<tr><td colspan=2 bgcolor=#ffcc00><img src="bksMaysearch.gif" width=20 height=20><SMALL>我要找書
欄位:<select size="1" name="field">
<option <?if ($field==1) echo "selected";?> value="1">書名</option>
</select>
關鍵字:<input type="text" name="keyword" size="15" value="<?echo $keyword?>">
<input type="submit" value="搜尋" name="B1">
</td></tr></form>

<?switch($field)
{
case 1:
$query="SELECT book_no,book_pic,book_name,author,publish,book_memo,price,book_id FROM book_shop where book_name like '%$keyword%' order by book_id desc";
break;
}
$result=mysql_query($query);
$a1=mysql_num_rows($result);?>//開網頁時,這行出錯,錯誤訊息如下:mysql_num_rows(): supplied argument is not a valid MySQL result resource

<tr><td colspan=2>‧共查到<font color=#ff0000> <big><b><?echo $a1;?></b>
</big></font> 筆資料</td></tr>
<?while(list($book_no,$book_pic,$book_name,$author,$publish,$book_memo,$price,$book_id)=mysql_fetch_row($result)) {?>//這行也出錯,錯誤訊息如同上面那個一樣

因為是看書打的,已確定照抄的跟書中範例完全相同,加上剛接觸PHP,已經改了許久也不見改善,希望各位前輩不吝次教,如能在下週五前將這個問題解決,小弟我感激萬分

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=1994

評論

  • edited 八月 2006
    提供解決這類問題的一個思路給你
    首先print或者echo你的sql語句$query
    然後到database裏直接執行sql,看結果會怎樣
  • edited 八月 2006
    您好,我自己試了一下$result= mysql_query($query)的值,發現$query的值在資料庫內可以運行無誤,但是$result的值則一直傳回"Resource id #3"(不管查什麼值都一樣,理論上要傳回Ture or false才對吧?),請問這是什麼問題?又可以從哪裡著手改善?
  • edited 八月 2006
    mysql_query()傳回值本來就是 Resource id,
    我想問題可能是你沒有選擇資料庫吧 mysql_select_db()
    或者 'connectdb.php' 裡有問題, 因為看起來supplied argument is not a valid MySQL result resource是連線的參數沒有指定
Sign In or Register to comment.