0.0 發問時間: 電腦與網際網路程式設計 · 8 年前

php關鍵字搜尋寫法

searchview.php

<form name="forml" method="post" action="search.php">

<input type="text" name="search" />

<input type="submit" name="submit" value="搜尋"/>

</form>

search.php

<?

$customer=$_post["search"];

if($customer)

{

$link=mysql_connect('localhost','root','1234');

if($link != False)

{

$qstring="Select * From mouth where mouth_name like '%". $customer ."%'";

$result=mysql_db_query($qstring,$link);

$rows=mysql_num_rows($result);

if($rows>0)

{

for($x=0;$x<$rows;$x++)

{

$arrdata[$x]=mysql_fetch_array($result,MYSQL_ASSOC);

echo "名稱 : ".$arrdata[$x][mouth_name]."<br>";

echo "內容 : ".$arrdata[$x][mouth_content]."<br>";

echo "個性 : ".$arrdata[$x][mouth_person]."<br><hr>";

}

}else{

echo "沒有相關資料";

}

}else{

echo "無法連結到MySQL";

}

}

?>

這是我參考網路上其他人的作法

自己再修改出來的程式碼

不過我從searchview輸入值或空值

跳到search都是空白的

不知道是不是判斷式有哪裏寫錯..

是否能為我解答一下

謝謝><

已更新項目:

我改了 不過 顯示的頁面 還是 空白的! 不過還是謝謝你!

2 個已更新項目:

我將POST改大寫了

不過出現了新的問題

顯示這兩行錯誤@@

$result=mysql_db_query($qstring,$link);

$rows=mysql_num_rows($result);

(Warning: mysql_db_query() expects parameter 2 to be string

Warning: mysql_num_rows(): supplied argument is not a valid MySQL)

2 個解答

評分
  • 8 年前
    最佳解答

    $_post["search"]

    POST要大小

    裡面的search要用單引號。

    2012-07-07 19:24:34 補充:

    否則 送出值 為空 ,或出錯。

    2012-07-07 19:25:00 補充:

    我看了好久才看出問題= =

    2012-07-07 19:25:16 補充:

    先暫時試試看。

    2012-07-07 19:30:21 補充:

    框號裡面 似乎 雙引號單引號都可以用..

    2012-07-08 07:34:37 補充:

    SQL語句錯誤吧

    2012-07-08 07:42:26 補充:

    對了,你沒有定義庫,mysql_select_db("庫名",$link);

    而且 我建議你 把宣告 全部從IF的{} 裡面 提出來。

    2012-07-08 07:51:20 補充:

    定義完之後 參數要改。

    可能是因為沒有選擇 庫名 所 進入查詢才出錯

  • 8 年前

    $qstring="Select * From mouth where mouth_name like '%". $customer ."%'";

    改成

    $qstring="select * from mouth where mouth_name like '%$customer%' ";

    另外,SQL的指令,要嘛全部都大寫,要嘛就小寫,不要大小寫混著用,在某些版本的MySQL引擎會解析錯誤!

    很多初學者都不曉得有這個問題!!

還有問題?馬上發問,尋求解答。