Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我会得到警告:“期望参数1是mysqli_结果,字符串给定”?_Php_Loops_Mysqli_Parameters - Fatal编程技术网

Php 为什么我会得到警告:“期望参数1是mysqli_结果,字符串给定”?

Php 为什么我会得到警告:“期望参数1是mysqli_结果,字符串给定”?,php,loops,mysqli,parameters,Php,Loops,Mysqli,Parameters,我有以下代码: $result=$db->query("SELECT * FROM gwub WHERE gwubStatus > 0") or die(mysqli_error($db)); if($result->num_rows>0) { while($row=mysqli_fetch_assoc($result)) { 查询正在运行并在数据库上执行它所需的操作,但我仍然收到以下警告: 警告:mysqli_fetch_assoc期望参数1为mys

我有以下代码:

$result=$db->query("SELECT * FROM gwub WHERE gwubStatus > 0") or die(mysqli_error($db));

if($result->num_rows>0) 
{
    while($row=mysqli_fetch_assoc($result)) {   
查询正在运行并在数据库上执行它所需的操作,但我仍然收到以下警告:

警告:mysqli_fetch_assoc期望参数1为mysqli_结果, 给定字符串

我并没有收到任何mysqli错误,若我在数据库上直接运行命令,它就可以正常工作。如果有任何不同,只有一个结果?

您应该使用:

而$row=mysqli\u fetch\u assoc$result->result\u数组{


这将给出结果的数组。

我敢打赌,您在循环中对$result赋值的任何内容,例如:

while ($row = mysqli_fetch_assoc($result)) {
    $result = $row['some_column'];
}
在该赋值之后,$result不再包含查询结果,它包含该列,该列是一个字符串。循环的下一次迭代在调用mysqli_fetch_assoc$result时尝试使用该字符串,但失败


解决方案:在循环中使用不同的变量。

单独运行此选项,从gwub中选择*其中gwubStatus>0I已在phpmyadmin中运行该选项,并获得1个结果,无错误。var\u dump$result after->query,其中有什么值?objectmysqli\u result2 5{[current\u field]=>int0[field\u count]=>int11[length]=>NULL[num\u rows]=>int1[type]=>int0}在if语句和while循环之间还有其他代码吗?mysqli\u result中没有result\u数组方法。这是一个CodeIgniter方法。感谢Barmar,刚刚在循环中发现了这个,非常简单:$result=curl\u exec$ch;编辑问题并显示代码,这样我们就可以重新打开问题了。