用于MYSQL的PHP​​脚本在一个文件上工作,而不在另一个文件上工作

时间:2016-03-24 05:40:58

标签: php mysql angularjs

我目前有一个AngularJS应用程序通过链接到PHP脚本的工厂查询数据库。下面的脚本完全按计划工作,并输出用于Angular的JSON:

<?php
function getCompanyDetails($company_id)
    {
        // Connect to the database.
        require_once("config/connection.php");

        $query = "SELECT id, header, content FROM company_details WHERE company_id = ?;";

        $stmt = $conn->stmt_init();

        if($stmt->prepare($query)) {
            $stmt->bind_param("i", $company_id);
            $stmt->execute();

            $data = $stmt->get_result();

            while($row = $data->fetch_assoc()) {
                $result[] = $row;
            }

            header("Access-Control-Allow-Origin: *");
            header("Content-Type: application/json; charset=UTF-8");

            $stmt->close();
            mysqli_close($conn);
            echo json_encode($result);
        }
    }

getCompanyDetails(1);

?>

现在,我有应用程序的其他部分需要完全相同的操作(从数据库中选择结果),我使用以下脚本(与上面的一个几乎相同的副本):

<?php
function getCompanyProjects($company_id)
    {
        // Connect to the database.
        require_once("config/connection.php");

        $query = "SELECT title, description FROM company_projects WHERE company_id = ?;";

        $stmt = $conn->stmt_init();

        if($stmt->prepare($query)) {
            $stmt->bind_param("i", $company_id);
            $stmt->execute();
            $data = $stmt->get_result();

            while($row = $data->fetch_assoc()) {
                $result[] = $row;
            }

            header("Access-Control-Allow-Origin: *");
            header("Content-Type: application/json; charset=UTF-8");

            $stmt->close();
            mysqli_close($conn);
            echo json_encode($result);
        }
    }

getCompanyProjects(1);

?>

问题是,第二个脚本不会返回任何结果。表格的数据库中有记录,我相信每次使用后我都会关闭连接。我现在已经坚持了一段时间,是否有人知道问题可能是什么?

查询SELECT title, description FROM company_projects WHERE company_id = ?;适用于phpMyAdmin。

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试fetch_assoc(), fetch_array(), mysqli_fetch_assoc()和其他许多人后,重置服务器几次,将echosvar_dumps放在任何地方,我意识到所有数据都被检索到{{1} }。section。

当我在while循环中实际迭代while时,我看到了一个未识别字符的小符号。在最后一个结果中有一个未转义的引用。删除这位小朋友后,var_dump再次开始运作良好。问题出在实际数据中,而不是代码上。这两个脚本现在都能正常使用正确的数据。

感谢大家的帮助!在提出这个问题之前,我不知道fetch_assoc()是什么,这是一个非常有用的功能。