我正在努力使PDO查询工作正常,但不知何故它没有。 这是我大脑爆炸的程度! 是否有人可以说我做错了什么?
$dbh = new PDO("mysql:host=localhost;dbname=databasename", "user", "pass");
$stmt = $dbh->prepare("SELECT * FROM `something` WHERE `email`=':email' and `name`=':name'");
$stmt->bindParam(':email', 'mail@mail.nl',PDO::PARAM_STR);
$stmt->bindParam(':name', 'name',PDO::PARAM_INT);
$stmt->execute();
if($stmt->rowCount() == 1)
{
echo "row count 1";
}
else if ($stmt->rowCount() == 0)
{
echo "row count 0";
}
else if ($stmt->rowCount() > 1)
{
echo "row count greater then 1";
}
答案 0 :(得分:1)
单引号('
)表示SQL中的字符串文字,因此阻止PDO在其中进行解析。如果你想使用绑定变量,你应该删除引号(不要担心,PDO会正确处理它们作为字符串):
$stmt = $dbh->prepare
("SELECT * FROM `something` WHERE `email`=:email and `name`=:name");