簡體   English   中英

嘗試從db php獲取隨機數不起作用

[英]Trying to get a random number from db php doesn't work

    $total_numMIN = mysqli_query($con,"SELECT MIN(id) FROM view_rating");
    $total_numMAX = mysqli_query($con,"SELECT MAX(id) FROM view_rating");
     $random_no = mt_rand($total_numMIN, $total_numMAX);    
     print $random_no;

我正在嘗試從數據庫中的最小和最大數字中隨機生成一個數字。 現在我得到的錯誤是

警告:mt_rand()期望參數1為整數,對象在

我不是很確定為什么查詢的結果不是整數

mysqli_query()返回mysqli_result ,它是一個對象,而不是您期望的數字。 您需要從查詢中獲取結果數組。 MIN和MAX查詢也可以組合成一個查詢。

$result = mysqli_query($con,"SELECT MIN(id) as min, MAX(id) as max FROM view_rating");

if($result) {
    $resultArray = $result->fetch_assoc();
    $random_no = mt_rand($resultArray['min'], $resultArray['max']);    
    print $random_no;
}

可能有一種更清潔的方法來執行此操作。 我已經很長時間沒有使用PHP了。

像這樣改變你的代碼

$total_numMIN = mysqli_fetch_assoc(mysqli_query($con,"SELECT MIN(id) as min,MAX(id) as max FROM view_rating"));
$random_no = mt_rand($total_numMIN['min'], $total_numMAX['max']);    
print $random_no;

因為mysqli_query只是給你一個對象。 您必須以關聯數組的形式獲取數據,然后可以將其用於mt_rand,希望這樣可以工作

mysql_query返回結果-而不是值。

從函數的文檔中: http : //php.net/manual/zh/mysqli.query.php

返回值

失敗時返回FALSE。 對於成功的SELECT,SHOW,DESCRIBE或EXPLAIN查詢,mysqli_query()將返回mysqli_result對象。 對於其他成功的查詢,mysqli_query()將返回TRUE。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM