如何使用PDO获得随机rowcount?我还在学习如何使用PDO,所以这就是我尝试过的,但它没有用,因为它没有随机化引号:
$sql = "SELECT COUNT(*) AS rows FROM thquotes;";
try {
$query = $this->_db->prepare($sql);
$query->execute();
**$rowcount = $query->rowCount();
$rand = rand(0,$rowcount-1);**
$sql = "SELECT cQuotes, vAuthor, cArabic, vReference
FROM thquotes
LIMIT $rand, 1";
我之前使用的代码没有PDO,但是有效:
**$rowcount = mysql_result($result, 0, 0);
$rand = rand(0,$rowcount-1);**
答案 0 :(得分:4)
如果您打算处理大量数据,我建议不要使用ORDER BY Rand()。
有关解释/推理和替代方法,请参阅:Titov.Net - Do not use Order By RAND()的文章。
答案 1 :(得分:3)
你也可以用MySQL做到这一点:
$sql = "SELECT cQuotes, vAuthor, cArabic, vReference
FROM thquotes
ORDER BY RAND()
LIMIT 1";
答案 2 :(得分:2)
要以随机顺序获取行,请添加ORDER BY RAND()
。