PDO问题。执行参数不被读取?

时间:2010-09-05 11:03:57

标签: php

这是我返回最热门视频的功能。由于某种原因,它不承认:限制。如果我删除':limit'并隐含地输入数字10就可以了。

方法:

function getPopularVideos($limit) {
$dbc = connectToDatabase();
$q = $dbc->prepare('SELECT * FROM video ORDER BY views DESC LIMIT 0, :limit');
$q->execute(array(':limit' => $limit));
return $q->fetchAll(PDO::FETCH_ASSOC);
}

致电代码:

$popularVideos = getPopularVideos(10);

任何想法都是我做错了。有点困惑。

1 个答案:

答案 0 :(得分:1)

根据this comment on php.net,这是因为引用了限制,这会破坏SQL语法。建议的解决方法是使用bindParam。