@rogiivs

Почему PDO SQLite возвращает в INT как STRING?

Почему PDO SQLite возвращает в INT как STRING, не как INT? Код и результат ниже, пожалуйста скажите где моя ошибка.
код:
<?php
$pdo = new PDO('sqlite:test.db');
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->query(/** @lang sqlite */
    'create table if not exists test (one integer, two integer, three integer)'
);
$insert_prep =  $pdo->prepare(/** @lang sqlite */
    'insert into test values (:one, :two, :three)'
);

$insert_prep->bindValue(':one', 1, PDO::PARAM_INT);
$insert_prep->bindValue(':two',  2, PDO::PARAM_INT);
$insert_prep->bindValue(':three',  3, PDO::PARAM_INT);
$insert_prep->execute();

echo '<pre>';
var_dump($pdo->query(/** @lang sqlite */
    'select * from test'
)->fetchAll(PDO::FETCH_NUM));

результат выполнения:
array(1) {
  [0]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
}


P.S. я видел вопрос Почему pdo драйвер возвращает int как string? и ответы я тоже читал к нему, но как вы видите у меня атрибутам PDO::ATTR_STRINGIFY_FETCHES и PDO::ATTR_EMULATE_PREPARES присвоено значение false и все равно INT возвращается как STRING.
  • Вопрос задан
  • 196 просмотров
Пригласить эксперта
Ответы на вопрос 1
@caballero
Программист
у него все поля по сути string надо явно конвертить
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽