[請益] php下mysql query

看板PHP作者 (gloomy ￾ ￾  ￾ ￾)時間18年前 (2006/01/18 10:30), 編輯推噓8(809)
留言17則, 5人參與, 最新討論串1/1
$query = "select ".$tquery." from product ".$query2; $tquery 和 $query2 是text中的值 可是目前我假如在$query2 中下的指令是包含有'的話 query就會錯 例如: where make='AMD' (make是欄位名稱) 可是如果是下 where price<5000 (price是欄位名稱)就沒有問題 請問一下這是怎麼一回事?? 謝謝^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.162.233.202

01/18 11:30, , 1F
\' ?
01/18 11:30, 1F

01/18 11:40, , 2F
$query2 是從 $query2=$_POST["query"];來的
01/18 11:40, 2F

01/18 11:41, , 3F
不是應該抓到整個string where make='AMD' 而沒有\'的問
01/18 11:41, 3F

01/18 11:42, , 4F
題吧??
01/18 11:42, 4F

01/18 11:59, , 5F
可以po出 echo $query;的值嗎?
01/18 11:59, 5F

01/18 12:34, , 6F
發現問題了@@ where make='AMD'變成 \'AMD\'
01/18 12:34, 6F

01/18 12:36, , 7F
這要怎麼改@@ 難道要一個個值抓出來檢查嗎??
01/18 12:36, 7F

01/18 12:49, , 8F
對了 我原先寫$query="select ".$tquery; 就沒問題
01/18 12:49, 8F

01/18 12:50, , 9F
後來為了改成限制只能搜尋product的內容 才寫成這樣
01/18 12:50, 9F

01/18 12:51, , 10F
可是卻跑出現在的問題@@
01/18 12:51, 10F

01/18 14:39, , 11F
會不會是你的程式中加了addslashes()?
01/18 14:39, 11F

01/18 14:39, , 12F
沒有耶@@
01/18 14:39, 12F

01/18 14:43, , 13F
剛剛發現你檢查一下php.ini檔案中的magic_quotes_gpc把它改
01/18 14:43, 13F

01/18 14:44, , 14F
Off
01/18 14:44, 14F

01/18 14:49, , 15F
可以了 非常感謝^^
01/18 14:49, 15F

01/19 02:01, , 16F
關掉magic_quotes_gpc,記得要小心處理接收到的資料中的
01/19 02:01, 16F

01/19 02:02, , 17F
引號,否則很容易受到SQL injection攻擊。
01/19 02:02, 17F
文章代碼(AID): #13pQWtHo (PHP)