我试图让我的网页从数据库中随机选择一个帖子,但它一直返回一个错误。错误将第三个查询作为bool而不是对象引用,因此代码有问题。我只是不知道是什么。P. S我知道代码的其余部分可能很草率,只是需要mt_rand
函数的帮助。
<?php include('enter-message.php');
$query= $connect->prepare("SELECT MAX( id ) AS 'max_id' FROM userinfo")or die(mysqli_error($connect));;
$query->execute();
$query->bind_result($maximum);
while($query->fetch()){
//print_r($maximum);
}
$query= $connect->prepare("SELECT MIN( id ) AS 'max_id' FROM userinfo")or die(mysqli_error($connect));;
$query->execute();
$query->bind_result($minimum);
while($query->fetch()){
//print_r($minimum);
}
$request=$connect->prepare('SELECT * FROM userinfo ORDER BY mt_rand($minimum,$maximum) LIMIT 1');
if($request->execute()){
while($request==$secret){
echo("<div class='secrets-box'>");
echo($secret['nickname']);
echo($secret['secret']);
echo("</div>");
}
你应该试试这个:
$request = $connect->prepare( 'SELECT * FROM userinfo ORDER BY ' . mt_rand($minimum,$maximum) . ' LIMIT 1' );
更好的是:
$rand = mt_rand($minimum,$maximum);
$request = $connect->prepare( 'SELECT * FROM userinfo ORDER BY %s LIMIT 1', $rand );
您可以使用mysql rand()函数:
'SELECT * FROM userinfo ORDER BY rand() LIMIT 1'
将从userinfo返回随机行