Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Giá trị null của PHP không bằng giá trị null của MySQL?

Đó là vì PHP null được chuyển đổi thành chuỗi trống "" khi bạn tạo chuỗi truy vấn.

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

Sẽ sản xuất:

insert into mytable set mycolumn = 

Để khắc phục truy vấn của bạn, bạn sẽ cần kiểm tra xem biến PHP có phải là null hay không và thay đổi nó thành chuỗi NULL. (Hiện cũng được đề cập trong nhận xét của @MarkB.)

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

Điều này sẽ tạo ra:

"insert into mytable set mycolumn = NULL"

Lưu ý rằng NULL không có "xung quanh nó vì nó hiện đã được nối với chuỗi khác.

* ( ghi chú:insert into tablename set .. không đúng, bạn insert dữ liệu hoặc bạn update tablename set dữ liệu.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để tôi tìm được mức lương lớn thứ hai từ bảng nhân viên?

  2. Các hàm toán học MySQL (Danh sách đầy đủ)

  3. làm cách nào để sử dụng chuỗi thoát thực mysql?

  4. Viết lại lựa chọn mysql để giảm thời gian và ghi tmp vào đĩa

  5. Tôi có cần kết nối mysql php trong mỗi hàm sử dụng cơ sở dữ liệu không?