'where in'子句中的PDO绑定值不起作用

时间:2013-06-12 14:24:37

标签: php sql pdo where bindvalue

我正在尝试使用“where in”子句获取顶级信息,但如果我使用bindvalue或bindparam,则不会得到任何结果。

这是我的查询没有给出任何结果

$user2 = $db->prepare("Select top 100 memb_guid,memb___id,mail_addr,Gender,Country from MEMB_INFO where memb___id in (Select memb___id from MEMB_STAT where IP = :ip)");
$user2->bindValue(':ip','127.0.0.1',PDO::PARAM_STR);
$user2->execute();

如果我使用没有任何绑定值或参数的直接搜索,我会得到结果

$user2 = $db->prepare("Select top 100 memb_guid,memb___id,mail_addr,Gender,Country from MEMB_INFO where memb___id in (Select memb___id from MEMB_STAT where IP = '127.0.0.1')");
$user2->execute();

任何人都可以帮助我在这个搜索'where in'子句中使用bindvalue或param吗?

@PhilCross这是我在使用var_dump时得到的:

object(PDOStatement)#4 (1) { ["queryString"]=> string(142) "Select top 100 memb_guid,memb___id,mail_addr,Gender,Country from MEMB_INFO where memb___id in (Select memb___id from MEMB_STAT where IP = :ip)"

Ps:我正在使用MSSQL Server

1 个答案:

答案 0 :(得分:-1)

绑定值的键应该没有':#39;

,绑定值应该是变量。

$ ip =' 127.0.0.1';

$ user2-> bindValue(' IP',$ IP,PDO :: PARAM_STR);