Neden php kullanarak benim DB içine 0 adlı yerine boşluklardan ekleme olduğunu?

2 Cevap php

Ben bir ekleme:

$sql = 'INSERT into orders SET 
fax_int_prefix = "'.$_SESSION['fax_int_prefix'].'", 
fax_prefix = "'.$_SESSION['fax_prefix'].'", 
fax_first = "'.$_SESSION['fax_first'].'", 
fax_last = "'.$_SESSION['fax_last'];

Bu alanların tüm değeri onlar takıldı boş doğru olmasıdır. Burada ben sadece insert önce echo'd bunlardan birinin bir örnek:

$_SESSION[fax_prefix] =

Nedense onu gerektiği gibi yerine boş bir değer veya null, tamsayı 0 ekler. Neden benim DB içine 0 adlı yerine boşluklardan ekleme olduğunu?

2 Cevap

Lütfen tablonun yapısını kontrol edin. O (o ve '0 'olarak ayarlanmış bir varsayılan değere sahip olduğu ya) tipi char veya varchar değil olması mümkündür. Kullanabilirsiniz Bunu yapmak için phpmyadmin, SQLyog veya diğer MySQL yönetici programlar.

Edit: tamsayılar depolamak, ama no value sonra türü null olduğundan emin olun seçeneğine sahip olmak istiyorsanız. diğer bir deyişle: column_name INT(n) DEFAULT NULL

Lütfen veritabanı şemasını kontrol edin. Büyük olasılıkla onlar tamsayı alanları ya da vardır.

SHOW FIELDS FROM orders;

veya

SHOW CREATE TABLE orders;

yardımcı olabilir. Ayrıca sadece bir değişken üzerinden yazdırırken iyi kontrol edilir, yerine (var_dump kullanın).