嗨,我在使用 PDO 时遇到问题,我是新手。如果我使用第一种方法,则查询返回空数组:
try {
$r = "SELECT * FROM `order` WHERE `id` = :id AND `key` = :key LIMIT 1";
$r_do = $db->prepare($r);
$r_do->bindParam(':id', $id, PDO::PARAM_STR);
$r_do->bindParam(':key', $key, PDO::PARAM_STR);
$r_do->execute();
$f2 = $r_do->fetch();
} catch(PDOException $r) {
$log->logError($r." - ".basename(__FILE__));
}
其中 $id 是整数,$key 是加密字符串,例如 iGkGNI1NEzCZ6k9g9xC+m8hNm22G3DXsNoEqdwNkTc0=
该值来自一个 URL
signin.php?id=10&key=iGkGNI1NEzCZ6k9g9xC+m8hNm22G3DXsNoEqdwNkTc0=
如果我直接用它的值替换准备好的语句,查询将返回结果。
$r = "SELECT * FROM `order` WHERE `id` = '10' AND `key` = 'iGkGNI1NEzCZ6k9g9xC+m8hNm22G3DXsNoEqdwNkTc0=' LIMIT 1";
任何想法?为了您的信息,我在 Windows 7 64 位上使用 Webmatrix 作为带有 PHP 的 IDE