Подтвердить что ты не робот

PDOStatement для json

Как преобразовать PDOStatement в json? Есть ли там библиотека?

EDIT: Мне нужно jsonify a PDO::FETCH_OBJ. Извините, спасибо за все ответы.

json_encode не имеет возможности jsonify a PDO::FETCH_OBJ.

Спасибо.

4b9b3361

Ответ 1

Вы можете использовать встроенную функцию php json_encode() http://php.net/manual/en/function.json-encode.php

Для кодирования результатов используйте что-то вроде

<?php
$pdo = new PDO("mysql:dbname=database;host=127.0.0.1", "user", "password");
$statement = $pdo->prepare("SELECT * FROM table");
$statement->execute();
$results = $statement->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($results);

Ответ 2

Используйте метод fetchAll() PDOStatement для извлечения массива значений, а затем передайте его json_encode().

$resultJSON = json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));

Ответ 3

$array = $statement->fetchAll( PDO::FETCH_ASSOC );
$json = json_encode( $array );

Ответ 4

Попробуйте это может быть, это поможет вам

 $data = array();
        if($stmt->execute()){
          while ($row = $stmt->fetchAll(PDO::FETCH_ASSOC)) {
                $data['data'] = $row;
            }
          }
      }

    if(!empty($data)){
        header("Access-Control-Allow-Origin: *");//this allows coors
        header('Content-Type: application/json');
        print json_encode($data);
    }else{
      echo 'error';
    }

Ответ 5

Я также очень полезен для вставки и установки заголовка PHP (Content-Type: application/json) перед отправкой обратно объекта JSON, возвращенного json_encode()

Ответ 6

Вместо использования заголовка ("Content-Type..." в моем php файле я использовал dataType: "JSON" в своем файле javascript.

Ответ 7

Мой использующий код

<?php

header('Content-Type: application/json');

try {
    $db = new PDO("mysql: host=localhost; dbname=veritabani; charset=utf8","root","mysql");
} catch(PDOException $message) {
    echo $message->getMessage();
}
$query = $db->prepare("SELECT id,product_name,product_price,delivery_date FROM teklif ORDER BY id");
$query->execute();
$data = $query->fetchAll(PDO::FETCH_ASSOC);

echo json_encode($data);