我使用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

没有正确的解决方案

其他提示

这只是一个建议,看到我从来没有使用的SQLite,但你确定的数字应该被引用?这似乎有些奇怪了吧。

尝试:

$conn->query("REPLACE INTO data(id,ts,value) VALUES (1, 1234567890, 12.1)");

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变量,你可能有一个错误,你传递一个空变量。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top