運行時我真的被這個難住了。這裏是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