作者wa120 (哇120)
看板PHP
標題Re: [請益] 小問題
時間Fri Aug 3 02:56:43 2007
※ 引述《Chouje (~~哇是卡倉~~)》之銘言:
: 今天在做與資料庫連結的小綀習時~程式碼如下:
: ------------------------------------------------------------------------------
: <html>
: <body>
: <?php
: if (isset($old_name)){
: $link_ID = mysql_connect("localhost:3306","root");
: mysql_select_db("bc_book");
: $str = "select * from customers where name='$old_name';";
: $result = mysql_query($str,$link_ID);
: mysql_close($link_ID);
: $record = mysql_fetch_row($result);
: }
: ?>
: 請在下面輸入資料後查詢:
: <form action="a.php" method="POST">
: 姓名:<input type="text" name="old_name">
: <input type="submit" value="查詢!">
: </form>
: <?php
: if (isset($record)){
: if($record){
: echo"姓名:".$record[1];
: echo"職業:".$record[2];}
: else{echo "查無此人!!";}
: }
: ?>
: </body>
: </html>
: 這個時後用網頁跑出來時他寫了:
: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result
: resource
: 這樣寫是表示我要怎麼修改呢??@@~~因為跑不出書上的結果~~>"<
: 是啥麼原因~剛學不久^^|||~~先謝謝回答的大大們~~^^
為什麼我記得是mysql_connect("主機名稱","帳號","密碼")
不知道新版有沒有改~~
再來SQL語法我習慣寫
$str = "select * from `customers` where `name`='".$old_name."';";
可以在前面加echo
echo $str = "select * from `customers` where `name`='".$old_name."';";
然後從網頁出現的語法丟到資料庫跑一遍
mysql_query我會寫這樣$result=mysql_query($str);
$record = mysql_fetch_row($result);這一行建議用while迴圈接
因為如果查詢結果有兩筆以上的資料印象中很容易就發生錯誤
除非你確定查詢結果只有一筆
然後mysql_close()我通常都放在最後 或者甚至不寫因為太常出錯了= =
然後為了程式安全起見
在最前面用$_POST["old_name"]接
像這樣
$old_name="";
if(isset($_POST["old_name"]))
{
$old_name=$_POST["old_name"];
}
如果那本書沒有教$_POST[]的用法建議你換本書~~那是舊版的寫法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.64.144.98
※ 編輯: wa120 來自: 61.64.144.98 (08/03 03:03)
→ kong0107:關於mysql_connect,你沒記錯,不過.... 08/03 09:41
推 Chouje:恩~謝謝各位的回答~^^~這幾天有買了另一本書較新的來讀~ 08/03 10:18
→ Chouje:也許是我之前安裝的方法有點問題~我也覺的是不是沒有連上資 08/03 10:19
→ Chouje:料庫~>"<~只是我是新手也不太知道要怎麼辦~一一a~不過~我去 08/03 10:20
→ Chouje:感覺有好多的東西和我之前安裝的方法很不一樣~有些東西我都 08/03 10:21
→ Chouje:不知道這樣安裝的用意是啥麼@@~不過~安裝這個方法不知道是 08/03 10:22
→ Chouje:不是最完整的安裝方法了呢?~因為找的書有些也沒有多加說明 08/03 10:23
→ Chouje:安裝的細節,因為是新手~總覺的若連安裝都有問題的話~那... 08/03 10:25
→ Chouje:會覺的要自己學會是更加困難的事情了~~^^|||~~ 08/03 10:26