$query = $db->prepare("SELECT * FROM coupons WHERE deleted = ? LIMIT ?, ?");
$query->bindValue("1", 0);
$query->bindValue("2", 2);
$query->bindValue("3", 5);
try{
$query->execute();
$result = $query->fetchAll();
return $result;
}catch(PDOException $e){
die($e->getMessage());
}
不幸的是,这会返回一个没有行的结果(但是一个空结果甚至没有错误),当我通过phpmyadmin运行这个sql查询时,它会获取多行。 任何建议都会有所帮助。我无法解决这个问题。
答案 0 :(得分:0)
对这个问题的第一个评论对我很有帮助:Here
解决了我的问题。以上提到的上述建议以前曾尝试过,但没有用。
答案 1 :(得分:-1)
bindValue需要一个整数 而不是像你提供的字符串:
$query = $db->prepare("SELECT * FROM coupons WHERE deleted = ? LIMIT ?, ?");
$query->bindValue(1, 0);
$query->bindValue(2, 2);
$query->bindValue(2, 5);
try{
$query->execute();
$result = $query->fetchAll();
return $result;
}catch(PDOException $e){
die($e->getMessage());
}
或只是这样做:
$query = $db->prepare("SELECT * FROM coupons WHERE deleted = ? LIMIT ?, ?");
$binds = array(0,2,5);
try{
$query->execute($binds);
$result = $query->fetchAll();
return $result;
}catch(PDOException $e){
die($e->getMessage());
}
答案 2 :(得分:-1)
尝试像这样使用
<?php
$query = $db->prepare("SELECT * FROM coupons WHERE deleted = :deleted LIMIT :limit, :offset");
$query->bindValue(":deleted", 0);
$query->bindValue(":limit", 2);
$query->bindValue(":offset", 5);
try{
$query->execute();
$result = $query->fetchAll();
return $result;
}catch(PDOException $e){
die($e->getMessage());
}
?>