Как преобразовать PDOStatement
в json? Есть ли там библиотека?
EDIT: Мне нужно jsonify a PDO::FETCH_OBJ
. Извините, спасибо за все ответы.
json_encode
не имеет возможности jsonify a PDO::FETCH_OBJ
.
Спасибо.
Как преобразовать PDOStatement
в json? Есть ли там библиотека?
EDIT: Мне нужно jsonify a PDO::FETCH_OBJ
. Извините, спасибо за все ответы.
json_encode
не имеет возможности jsonify a PDO::FETCH_OBJ
.
Спасибо.
Вы можете использовать встроенную функцию 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);
Используйте метод fetchAll()
PDOStatement для извлечения массива значений, а затем передайте его json_encode()
.
$resultJSON = json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));
$array = $statement->fetchAll( PDO::FETCH_ASSOC );
$json = json_encode( $array );
Попробуйте это может быть, это поможет вам
$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';
}
Я также очень полезен для вставки и установки заголовка PHP (Content-Type: application/json) перед отправкой обратно объекта JSON, возвращенного json_encode()
Вместо использования заголовка ("Content-Type..." в моем php файле я использовал dataType: "JSON" в своем файле javascript.
Мой использующий код
<?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);