При создании запроса PDO с использованием fetchAll (PDO :: FETCH_ASSOC), он возвращает ассоциативный массив, который я могу json_encode в виде строки, подобной этой:
[{"Email_Address":"address@mail.com","Related_Data":"1239873652"}]
Однако я бы предпочел упростить ту же строку следующим образом:
[{"from":"address@mail.com","data":"1239873652"}]
Это не только уменьшает объем данных, передаваемых при большом количестве записей, но и обеспечивает дополнительный уровень безопасности, не раскрывая имена полей в базе данных.
Спасибо
Это код PHP, используемый:
$stmt = $db->query('SELECT * FROM Table WHERE Email_Address = \'address@mail.com\'');
$array = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($array);
При использовании псевдонимов "AS":
$stmt = $db->query('SELECT Email_Address AS from, Related_Data AS data FROM Messages WHERE Email_Address = \'address@mail.com\'');
Сервер возвращает следующую ошибку:
Предупреждение: PDO :: query (): SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1064 В синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с данными «Related_Data AS» из таблицы WHERE Email_Address ='address@mail.com''