Как вернуть массив объектов в формате Json из MySQL, используя php подготовленный оператор - PullRequest
1 голос
/ 14 мая 2019

Я пытаюсь написать функцию в php, которая позволит мне возвращать массив объектов (в моем случае это строки в моей базе данных (MySQL) из phpMyAdmin) в формате 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 объектов должен представлять строку из таблицы и ее столбцов.Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Чтобы преобразовать массив 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);
}
1 голос
/ 14 мая 2019

Вы можете использовать json_encode и json_decode для преобразования массива в JSON и наоборот.

return json_encode($arr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...