问题描述
我的代码:
$zaman = '%'.date('Y-m-d').'%';
$Sorgu = MysqLi_query($link,"SELECT COUNT( * ) AS sayi,ip
FROM visitors
WHERE zaman LIKE '$zaman'
AND sayfa LIKE '%admin%'
GROUP BY ip ORDER BY sayi ASC");
while($X = MysqLi_fetch_assoc($Sorgu)){
if($X[sayi] > 2) echo $X[ip].' ip address '.$X[sayi].' <br>';
}
但我收到以下错误。
致命错误:Uncaught TypeError: MysqLi_fetch_assoc(): Argument #1 ($result) must be type MysqLi_result,bool given in /home/xxxxxxx/public_html/ip.PHP:28 Stack trace: #0 /home/xxxxxxx /public_html/ip.PHP(28): MysqLi_fetch_assoc(false) #1 {main} 在第 28 行的 /home/xxxxxxx/public_html/ip.PHP 中抛出
我该如何解决这个问题?
解决方法
错误本身说参数 #1 ($result) 必须是 mysqli_result 类型,给定布尔值,
那是你使用 $Sorgu 的代码 while($X = mysqli_fetch_assoc($Sorgu)){
是 bool 类型,应该是 mysqli_result,这意味着你的最后一个查询结果是 bool,你应该更正查询或者在 while 循环之前你应该检查结果类型不是 bool,希望这会有所帮助