【问题标题】:Query returning empty set in script, works in PHPMyAdmin and on local version查询在脚本中返回空集,适用于 PHPMyAdmin 和本地版本
【发布时间】: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]

标签: php mysql oop


【解决方案1】:

$subjectID? 的值是多少。看来你必须给$catID而不是$subjectID

【讨论】:

    【解决方案2】:

    手册说:

    对于成功的 SELECT、SHOW、DESCRIBE 或 EXPLAIN 查询 mysqli_query() 将返回一个 mysqli_result 对象

    试试

    $rows = $results->fetch_array(MYSQLI_ASSOC);
    
    var_dump($rows);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 2016-02-15
      • 2013-07-17
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 2013-10-03
      相关资源
      最近更新 更多