[請益] 程式片段(找不出錯在哪)

看板PHP作者 (波波龍)時間16年前 (2009/03/20 02:12), 編輯推噓2(209)
留言11則, 2人參與, 最新討論串1/1
$link=mysql_connect($host,$user,$pass); $db=mysql_select_db($database,$link); if($link) { if($lim_web!="") { $select_str="Select web_name From limit_web web_name='$lim_web'"; $send=mysql_query($select_str,$link); if($send==false) { $Insert_str="Insert Into limit_web(web_name)Values('$lim_web')"; $send=mysql_query($Insert_str,$link); if($send!=False) { system("iptables -I OUTPUT -d $lim_web -j DROP"); echo "輸入成功!!"; } }else{ echo "資料庫裡已有此筆資料!!"; } } }else{ echo "DB connect false"; } 我這是找尋有沒有重覆資料 可是一直不出哪裡錯了 想請教一下版友 重覆判斷那裡有問題 好像不會檢查資料庫裡的資料 進行比對 -- ξ ○- <(╯ 這 , 就是人生呀。 ■)﹥ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.50.144 ※ 編輯: cbolong 來自: 220.134.50.144 (03/20 02:14)

03/20 02:52, , 1F
用法錯誤...
03/20 02:52, 1F

03/20 02:52, , 2F
搞清楚mysql_query的return value是什麼意義
03/20 02:52, 2F

03/20 02:57, , 3F
if($send==false) 大概幾乎都是成立的
03/20 02:57, 3F

03/20 02:58, , 4F
if($send!=False) 這我不確定 SQL寫的不太好
03/20 02:58, 4F

03/20 02:58, , 5F
但可能還可以動 另外漏洞也不少
03/20 02:58, 5F

03/20 02:59, , 6F
看一下 http://php.net/mysql_query RETURN VALUES
03/20 02:59, 6F

03/20 02:59, , 7F
然後查一下SQL Injection
03/20 02:59, 7F

03/20 03:00, , 8F
通常資料庫連線都_connect() or die('Failed');
03/20 03:00, 8F

03/20 03:00, , 9F
不然你這樣可能還會多收到一個Warning
03/20 03:00, 9F

03/20 03:01, , 10F
not a valid mysql resource 之類的
03/20 03:01, 10F

03/20 22:35, , 11F
感謝樓上回答 我解決方法是 我忘了加Where
03/20 22:35, 11F
文章代碼(AID): #19meiV5c (PHP)
文章代碼(AID): #19meiV5c (PHP)