我与PDO有一个sintax错误
当我尝试使用这样的限制准备好的查询时:
LIMIT:myLimit'); 我在mysql中有错误:'(
这有什么不对吗?
当我把数字放好时,就像这样:限制2
<?php
try{
$repFooterNews = $bdd->prepare('SELECT * FROM newss ORDER BY id DESC LIMIT :myLimit');
$myLimit = 2;
$repFooterNews->execute(array('myLimit'=>$myLimit));
$repFooterNews->setFetchMode(PDO::FETCH_OBJ);
while ($newBas = $repFooterNews->fetch() ){
echo "<div class=\"newsfoot\">";
echo "<h2> $newBas->title</h2>";
echo "<p>$newBas->short</p>";
echo "</div>";
}
}catch (PDOException $e){
echo "Error !: " . $e->getMessage() . "<br/>";
}
?>
答案 0 :(得分:1)
来自PDO manual:
具有与正在执行的SQL语句中的绑定参数一样多的元素的值数组。所有值都被视为PDO :: PARAM_STR。
尝试像这样绑定limit参数而不是execute函数:
$repFooterNews->bindParam(':myLimit', $myLimit, PDO::PARAM_INT);
$repFooterNews->execute();
答案 1 :(得分:0)
我认为问题是因为您未在execute()
中正确指定占位符,请尝试此操作。
$repFooterNews->execute(array(':myLimit'=>$myLimit));