繁体   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