作者weakling (gloomy  )
看板PHP
標題[請益] php下mysql query
時間Wed Jan 18 10:35:46 2006
$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
1F:推 iFEELing: \' ? 01/18 11:30
2F:推 weakling:$query2 是從 $query2=$_POST["query"];來的 01/18 11:40
3F:→ weakling:不是應該抓到整個string where make='AMD' 而沒有\'的問 01/18 11:41
4F:→ weakling:題吧?? 01/18 11:42
5F:推 ast9869:可以po出 echo $query;的值嗎? 01/18 11:59
6F:推 weakling:發現問題了@@ where make='AMD'變成 \'AMD\' 01/18 12:34
7F:→ weakling:這要怎麼改@@ 難道要一個個值抓出來檢查嗎?? 01/18 12:36
8F:→ weakling:對了 我原先寫$query="select ".$tquery; 就沒問題 01/18 12:49
9F:→ weakling:後來為了改成限制只能搜尋product的內容 才寫成這樣 01/18 12:50
10F:→ weakling:可是卻跑出現在的問題@@ 01/18 12:51
11F:推 samule:會不會是你的程式中加了addslashes()? 01/18 14:39
12F:推 weakling:沒有耶@@ 01/18 14:39
13F:推 samule:剛剛發現你檢查一下php.ini檔案中的magic_quotes_gpc把它改 01/18 14:43
14F:→ samule:Off 01/18 14:44
15F:推 weakling:可以了 非常感謝^^ 01/18 14:49
16F:→ marinne:關掉magic_quotes_gpc,記得要小心處理接收到的資料中的 01/19 02:01
17F:→ marinne:引號,否則很容易受到SQL injection攻擊。 01/19 02:02