簡體   English   中英

適用於MYSQL的PHP​​腳本可用於一個文件,而不適用於另一個文件

[英]PHP Script for MYSQL working on one file, not on another

我目前有一個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。

提前致謝。

在嘗試了fetch_assoc(), fetch_array(), mysqli_fetch_assoc()和許多其他功能之后,將服務器重置了幾次,將echosvar_dumps放置在各處,我意識到所有數據都將被檢索,直到while部分。

當我實際上在while循環中迭代var_dump時,我看到了一個無法識別字符的小符號。 最后一個結果中有一個未轉義的報價。 刪除了這個小朋友之后, fetch_assoc()再次開始正常工作。 問題出在實際數據上,而不是代碼上。 這兩個腳本現在都可以使用正確的數據正常工作。

謝謝各位的幫助! 在問這個問題之前,我不知道var_dump是什么,這是一個非常有用的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM