Re: [請益] 小問題
※ 引述《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)
→
08/03 09:41, , 1F
08/03 09:41, 1F
→
08/03 09:41, , 2F
08/03 09:41, 2F
推
08/03 10:18, , 3F
08/03 10:18, 3F
→
08/03 10:19, , 4F
08/03 10:19, 4F
→
08/03 10:20, , 5F
08/03 10:20, 5F
→
08/03 10:21, , 6F
08/03 10:21, 6F
→
08/03 10:21, , 7F
08/03 10:21, 7F
→
08/03 10:22, , 8F
08/03 10:22, 8F
→
08/03 10:23, , 9F
08/03 10:23, 9F
→
08/03 10:25, , 10F
08/03 10:25, 10F
→
08/03 10:26, , 11F
08/03 10:26, 11F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章