作者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