-2

我有一段 php-mysql 代码应该返回 30 天期间的平均音量,但是每次运行它时,我都会收到未捕获的类型错误。调试时,看起来该数组返回为真,并且当我在 phpadmin/mysql 中运行相同的查询时,它返回了 1900 多个结果。需要一些帮助...

...
$datediff= date('Y-m-d', strtotime($today . " - 30 day"));
$q_vol="SELECT ticker,AVG(volume) as AVGVol FROM historicalprice WHERE (pricedate>='".$datediff."') GROUP BY ticker";
    echo $q_vol;
    $result = mysqli_query($conn,$q_vol);
    echo mysqli_error($conn);
    var_dump($result);
    $rowcount=mysqli_num_rows($result);
    
    echo $rowcount;
    while($row=mysqli_fetch_array($result)) {
        echo "Success";
        $ticker=$row['ticker'];
        $vol=round($row['AVGVol'],2);
...
    }

该错误针对“while($row=mysqli_fetch_array($result))”行。

我得到的输出是:

SELECT ticker,AVG(volume) as AVGVol FROM historyprice WHERE (priceate>='2022-01-31') GROUP BY ticker

object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(2) ["lengths"]=> NULL ["num_rows"]=> int(1987 ) [“类型”]=> int(0) }

致命错误:未捕获的类型错误:mysqli_fetch_array():参数 #1 ($result) 必须是 mysqli_result 类型,[file] 中给出的 bool:24 堆栈跟踪:#0 文件:mysqli_fetch_array(true) #1 {main} 在 [文件]在第 24 行

任何和所有想法都会有所帮助。

4

0 回答 0