Os carros alegóricos não são salvos corretamente na tabela SQLite usando PHP
-
23-09-2019 - |
Pergunta
Estou usando o SQLite 3 com PHP.
A tabela SQLite consiste em 2 inteiro e uma coluna de flutuação. Ao salvar os dados nesta tabela usando flutuações PHP não são salvos corretamente (o valor padrão é armazenado). As duas colunas inteiras são salvas. Alguma ideia do que poderia estar errado? Obrigada.
Código simplificado que realmente funciona corretamente:
$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
Nenhuma solução correta
Outras dicas
Isso é apenas uma sugestão, visto que nunca usei o SQLite, mas você tem certeza de que os números devem ser citados? Isso parece um pouco estranho para mim.
Tentar:
$conn->query("REPLACE INTO data(id,ts,value) VALUES (1, 1234567890, 12.1)");
Os tipos de dados SQLite são digitados, então suas consultas precisam funcionar:
Todas as seguintes consultas funcionam para mim
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');
Verifique sua variável PHP, você pode ter um bug e passar uma variável nula.