2015-05-14 170 views
1

问题我遇到了一个有趣的问题,我不知道如何解决。我在XAMPP上创建了我的网站,它的工作正常。但是一旦它被上传到服务器,我的一部分php代码就不会被执行。我把echo语句整个代码,以确定为什么我的PHP功能停止,并在这里这种说法似乎是问题 - $row_id = mysqli_fetch_all($r, MYSQLI_ASSOC);mysqli_fetch_all()没有执行,或与MYSQLI_ASSOC

还有更早的数据库扳指是这样的 -

$id = $_SESSION['admin_id']; 
$q = "SELECT user_id FROM adminsofusers WHERE admin_id = $id"; 
$r = mysqli_query($dbc, $q) or trigger_error("Query: $q\n<br> MySQL Error: " . mysqli_error($dbc)); 

我有试图运行在$ R A mysqli_num_rows(),它返回为1,这是它应该,所以我已经确定问题在于 $row_id = mysqli_fetch_all($r, MYSQLI_ASSOC);

一切这种说法被忽视之后,把东西在PHP脚本后,没关系。但是,它仍然在我的本地服务器上正常工作。有任何想法吗?可能与我的托管服务器存在问题?

+1

的MySQL原生驱动程序仅只有mysqlnd可用* - 阅读手册http://php.net/manual/en/mysqli-result.fetch-all。 php - *由于mysqli_fetch_all()在一个步骤中将所有行作为数组返回,它可能会消耗比一些类似函数更多的内存,如['mysqli_fetch_array()'](http://php.net/manual/en/) mysqli-result.fetch-array.php)* –

+0

尝试使用$ row_id = mysqli_fetch_assoc($ r); – trevor

+0

你也需要php 5.3+ – jeroen

回答

0

mysqli_fetch_all()需要php 5.3及更高版本需要安装mysqlnd。一个

或者您可以使用

$result = mysqli_query($con,$query); 
while($row = mysqli_fetch_assoc($result)) { 
    $arr[] = $row; 
}