运行时我真的被这个难住了。这里是php:查询在phpmyadmin中正常工作返回0行,当从php
更新:我已经逃过了输入(在我做了这个不同的方式之前,但不知道mysql_real_escape_string)。另外,我用双引号替换双引号,但同样的问题正在发生。下面是更新后的代码:
$request = mysql_real_escape_string($_POST['id']);
$colName = mysql_real_escape_string($_POST['col_name']);
function executeAssoc1($q)
{
$r = mysql_query($q) or die(mysql_error() . ' ' . $q);
$rass = mysql_fetch_assoc($r);
return $rass;
}
foreach(array_keys($_POST) as $pitem)
{
if($pitem == (...what I want it to...))
{
$pitem_name = mysql_real_escape_string(rawurldecode($pitem));
$qf = "SELECT * FROM possible_values WHERE table_id=$request AND col_name='$colName' AND value = '$pitem_name'";
$qfr = executeAssoc1($qf);
var_dump($pitem_name);
echo '<br>';
var_dump($qf);
echo '<br>';
var_dump($qfr);
}
}
这里是部分什么一个循环期间的代码输出:
串(37) “1。新英格兰(东北地区)”
串(122 ) “SELECT * FROM POSSIBLE_VALUES WHERE的table_id = 3,COL_NAME ='师和价值= '1。新英格兰(东北地区)'”
布尔(假)
现在,当我复制查询我nto phpmyadmin SQL编辑器它确实返回结果。我甚至尝试使用LIKE“%...%”,如here中所建议的,但同样的事情发生(phpmyadmin返回一行,PHP返回0行)。
逃离你的琴弦!这就是要求SQL注入! – Johnco 2010-02-09 21:08:37
修复了注入问题(我希望) – 2010-02-09 21:23:41
您是否100%确定您使用的是相同的数据库连接,数据库和表? – 2010-02-09 21:28:12