Как я могу получить правильные типы данных из MySQL с PDO?
my PDO fetch возвращает все в виде строки.
У меня есть класс пользователя с id (int) и username (varchar).
когда я пытаюсь выполнить следующий sql-запрос
$db->prepare('SELECT * FROM users WHERE id=:id_user');
$db->bindParam(':id_user', $id_user);
$db->execute();
$user_data = $db->fetch(PDO::FETCH_ASSOC);
и var_dump ($user_data), параметр id представляет собой строку. Как я могу сделать так, чтобы PDO уважал правильные типы данных из mysql ?
1 ответов
вы можете использовать другой fetch_style. Если у вас есть класс пользователя, вы можете заставить PDO вернуть экземпляр пользователей класс
$statement->fetchAll(PDO::FETCH_CLASS, "User");
теперь вы можете позаботиться о проверке свойств и кастинге внутри класса пользователя, где он принадлежит.
по теме: