Плавания не сохраняются правильно в таблицу SQLite с использованием PHP - PullRequest
0 голосов
/ 27 января 2010

Я использую SQLite 3 с PHP.

Таблица SQLite состоит из 2 INTEGER и одного столбца FLOAT. При сохранении данных в эту таблицу с использованием PHP плавающие файлы сохраняются неправильно (вместо этого сохраняется значение по умолчанию) Два целочисленных столбца сохранены. Есть идеи, что может быть не так? Спасибо.

Упрощенный код, который действительно работает правильно:

$conn = new SQLite3('dbFileName');
$conn->query("CREATE TABLE data (
       id INTEGER NOT NULL DEFAULT 0 ,
       ts INTEGER NOT NULL DEFAULT 0 ,
       value FLOAT NOT NULL DEFAULT 0
    );"
);
$conn->query("REPLACE INTO data(id,ts,value) VALUES ('1','1234567890','12.1')");

-> 1 | 1234567890 | 0

Ответы [ 2 ]

2 голосов
/ 27 января 2010

Это всего лишь предложение, поскольку я никогда не использовал SQLite, но уверены ли вы, что цифры должны быть в кавычках? Это кажется мне несколько странным.

Попытка:

$conn->query("REPLACE INTO data(id,ts,value) VALUES (1, 1234567890, 12.1)");
0 голосов
/ 27 января 2010

Типы данных Sqlite не содержат типов, поэтому ваши запросы должны работать:

у меня все следующие запросы работают

REPLACE INTO data(id,ts,value) VALUES ('1','1234567890','12.1');
REPLACE INTO data(id,ts,value) VALUES ('1','1234567890','12,123')
REPLACE INTO data(id,ts,value) VALUES ('1','1234567890','abc');

Проверьте вашу переменную PHP, возможно, у вас ошибка и вы передаете пустую переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...