Domanda

Sto usando SQLite 3 con PHP.

La tabella SQLite comprende 2 INTEGER e una colonna FLOAT. Quando si salvano i dati in questa tabella utilizzando carri PHP non vengono salvate correttamente (il valore predefinito è memorizzato invece). Le due colonne interi vengono salvate. Qualche idea su cosa possa essere sbagliato? Grazie.

codice semplificato che in realtà funziona correttamente:

$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

Nessuna soluzione corretta

Altri suggerimenti

Questa è solo un suggerimento, visto che non ho mai usato SQLite, ma sei sicuro che i numeri dovrebbero essere citato? Che sembra un po 'strano per me.

Prova:

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

tipi SQLite Data sono senza tipo, in modo che le domande devono lavorare:

tutte le query di funziona per me

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');

Controlla la tua variabile PHP, si potrebbe avere un bug e si passa una variabile nulla.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top