Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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 mysqli_query+foreach在本地和服务器上的工作方式不同_Php_Sql_Mysqli_Localhost - Fatal编程技术网

Php mysqli_query+foreach在本地和服务器上的工作方式不同

Php mysqli_query+foreach在本地和服务器上的工作方式不同,php,sql,mysqli,localhost,Php,Sql,Mysqli,Localhost,我不知道这个过程是否正确,但到目前为止,它在我的大多数情况下都是有效的 当我想要获取SQL表信息时,我使用以下代码: if (!$db = mysqli_connect(HOST,USER,PASS,NAME)) return false; $results = mysqli_query($db,"SELECT * FROM `table`"); foreach ($results as $result) { var_dump($result); } 问题是,我在localhost

我不知道这个过程是否正确,但到目前为止,它在我的大多数情况下都是有效的

当我想要获取SQL表信息时,我使用以下代码:

if (!$db = mysqli_connect(HOST,USER,PASS,NAME)) return false;

$results = mysqli_query($db,"SELECT * FROM `table`");

foreach ($results as $result) {
    var_dump($result);
}
问题是,我在localhost中测试了这一点,它工作得非常完美,我得到了我所期望的var_dump格式的结果。然而,相同的代码和相同的查询到相同的数据库,但在服务器中会显式返回一定数量的NULL

localhost:mysqli-客户端API库版本:5.0.10-20111026-$Id:e707c415db32080b3752b232487a435ee0372157$from phpinfo

服务器:mysqli-客户端API库版本:5.5.35

问题:有人知道这是否与我的问题有关吗

我会感谢任何帮助。问候

在以下两种情况下都可以尝试:

while( $row = $results->fetch_array(MYSQLI_ASSOC) ){
    print_r($row);
}

请告诉我们是否还有一些差异。

数据库表和列ID完全相同?您必须验证php和mysql库版本在本地和远程是否相同。?尝试使用print\r$result。它会给你所有的field data.PHP版本:Local-PHP版本5.4.12 Server-PHP版本5.3.10-1ubuntu3.11关于mysql库版本,我认为这不重要,因为我使用的是mysqli而不是mysql。Rajlaksh,我在这里发帖之前就试过了。我以为它会给我所有的现场数据,但它没有。这真让我抓狂:这两种方法都奏效了!如果使用打印功能,两者之间没有区别。若我使用var_dump函数,它在本地和服务器中看起来都很不错,但这一点都不重要。谢谢注意:我将PHP版本从'5.3.10-1ubuntu3.11'更新为'5.4.30-1+deb.sury.org~precise+1',现在它也可用于foreach方法: