لا يتم حفظ العوامات بشكل صحيح في جدول SQLite باستخدام PHP

StackOverflow https://stackoverflow.com/questions/2146376

  •  23-09-2019
  •  | 
  •  

سؤال

أنا أستخدم SQLite 3 مع PHP.

يتكون جدول SQLite من 2 عدد صحيح وعمود تعويم واحد. عند حفظ البيانات في هذا الجدول باستخدام عوامات 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