php 0行,查询工作正常phpmyadmin从PHP运行时返回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 '
';

var_dump($qf);

echo '
';

var_dump($qfr);

}

}

以下是该代码在一个循环中输出的部分内容:

string(37) “1 .New England (Northeast region)”

string(122) “SELECT * FROM possible_values WHERE table_id=3 AND col_name=’DIVISION’ AND value = ‘1 .New England (Northeast region)’”

bool(false)

现在,当我将该查询复制到phpmyadmin SQL编辑器时,它确实返回了一个结果.我甚至尝试使用LIKE“%…%”,如here所示,但同样的事情发生(phpmyadmin返回一行,php返回0行).

Note: rawurldecode() does not decode plus symbols (‘+’) into spaces. urldecode() does.

如果你输出你的mySQL查询,我打赌你的strting看起来像这样:

1+.New+England+(Northeast+region)

尝试urldecode()作为手动条目建议.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值