【发布时间】:2015-02-27 06:26:35
【问题描述】:
这已经困扰了我好几个小时了。这段代码在我的本地机器上完美运行,查询在phpmyadmin等中执行。
我有以下代码:
<?php
class db {
public $server = 'localhost';
public $user = '***';
public $passwd = '***';
public $db = '***';
public $dbCon;
function __construct(){
$this->dbCon = mysqli_connect($this->server, $this->user, $this->passwd, $this->db);
}
function __destruct(){
mysqli_close($this->dbCon);
}
private function getFileTree($catID) {
$sql = "SELECT
*
FROM
table_name
WHERE
cat_id = ".$catID;
$results = mysqli_query($this->dbCon, $sql);
return $results;
}
}
$db = new db();
$cat_id = 1;
$data = $db->getFileTree($cat_id);
echo json_encode($data);
?>
我很困惑,因为查询看起来很好,它在 PHPMyadmin 中运行,并且脚本在我的本地版本上运行良好,但是一旦我移动到服务器,它只会返回一个空数组。我唯一能想到的是它与服务器上较旧的 php 版本有关,但似乎它仍然应该工作,我所有其他查询都工作正常。
另外,当我 var_dump $results 时,我在 db 中尝试一个 cat_id 时得到以下信息:
NULL NULL NULL NULL NULL array(1) { [""]=> NULL }
以及当我尝试其他 cat_id 时的以下内容:
object(mysqli_result)#3 (5) { ["current_field"]=> int(0) ["field_count"]=> int(6) ["lengths"]=> NULL ["num_rows"]=> int(24) ["type"]=> int(0) } [null]
【问题讨论】:
-
你得到了什么结果? 0 个结果。出错了?
-
它是一个空数组,还是可能只是 false 或 null?确保您已打开错误报告并将其设置为适当的级别。
-
查看我的编辑。我打开了错误报告,我没有收到任何错误。当我执行 echo json_encode($data) 时,它只是在打印 [null]