Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bukankah nilai null PHP sama dengan nilai null MySQL?

Itu karena PHP null diubah menjadi string kosong "" saat Anda membuat string kueri.

$variable = null;
$insert = "insert into mytable set mycolumn = $variable" ;
echo $insert;

Akan menghasilkan:

insert into mytable set mycolumn = 

Untuk memperbaiki kueri Anda, Anda perlu memeriksa apakah variabel PHP adalah null dan mengubahnya menjadi string NULL. (Sekarang juga disebutkan dalam komentar @MarkB.)

if ($variable == null){
    $variable = "NULL";
}

Ini akan menghasilkan:

"insert into mytable set mycolumn = NULL"

Perhatikan bahwa NULL tidak memiliki " di sekitarnya karena sekarang digabungkan ke string lainnya.

*(catatan:insert into tablename set .. salah, Anda juga insert data atau Anda update tablename set data.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Aktifkan masuk ke wadah mysql buruh pelabuhan

  2. Bagaimana menangani pengecualian PDO

  3. Migrasi Laravel merujuk sendiri masalah kunci asing

  4. Wizard impor data meja kerja MySQL sangat lambat

  5. SQL UPDATE semua nilai dalam bidang dengan string yang ditambahkan CONCAT tidak berfungsi