簡體   English   中英

如何使用php prepare-statement從MySQL返回Json格式的對象數組

[英]How to return an array of objects in Json format from MySQL using php prepared-statement

我正在嘗試用php寫一個函數,該函數將允許我將對象數組(在我的情況下,對象是phpMyAdmin中數據庫(MySQL)中的行)返回為Json格式。

這是我的功能:

public function getAllCases()
    {

        $stmt = $this->conn->prepare("SELECT * FROM mycase ");
        $stmt->execute();
        $arr = []
        $result = $stmt->get_result();

        while($row = $result->fetch_object()) {
            $arr[] = $row;
        }

        return $arr;
    }

我在網上找不到其他任何東西,並且此功能無法正常工作。 例如,如果我的表有4行,我希望能夠獲得4個對象,並且這4個對象中的每個對象應代表表中的一行及其列。 任何幫助,將不勝感激。

您可以使用json_encodejson_decode將數組轉換為JSON,反之亦然。

return json_encode($arr)

要將php數組轉換為json,請使用json_encode()函數。 在您的代碼中,您混合了普通語句和預備語句。

public function getAllCases()
{
    $data = array();
    $result = $this->conn->query("SELECT * FROM `mycase`");
    $num_rows = $result->num_rows;
    if ($num_rows  > 0) {                           
        while($row = $result->fetch_assoc()) {
            $data[] = $row; 
        }
     }
    return json_encode($data);
}

暫無
暫無

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

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