PDO 和行数
PDO and rowcount
我试图使下面的 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";
}
单引号 ('
) 表示 SQL 中的字符串文字,因此防止 PDO 在其中解析。如果你想使用绑定变量,你应该删除引号(别担心,PDO 会正确处理它们作为字符串):
$stmt = $dbh->prepare
("SELECT * FROM `something` WHERE `email`=:email and `name`=:name");
我试图使下面的 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";
}
单引号 ('
) 表示 SQL 中的字符串文字,因此防止 PDO 在其中解析。如果你想使用绑定变量,你应该删除引号(别担心,PDO 会正确处理它们作为字符串):
$stmt = $dbh->prepare
("SELECT * FROM `something` WHERE `email`=:email and `name`=:name");