Thông thường, bạn thêm giá trị thường xuyên để mySQL, từ PHP như thế này:
function addValues($val1, $val2) {
db_open(); // just some code ot open the DB
$query = "INSERT INTO uradmonitor (db_value1, db_value2) VALUES ('$val1', '$val2')";
$result = mysql_query($query);
db_close(); // just some code to close the DB
}
Khi giá trị của bạn trống/null ($ VAL1 == "" hoặc $ VAL1 == NULL), và bạn muốn NULL để được thêm vào SQL và không phải là 0 hoặc chuỗi rỗng, như sau:
function addValues($val1, $val2) {
db_open(); // just some code ot open the DB
$query = "INSERT INTO uradmonitor (db_value1, db_value2) VALUES (".
(($val1=='')?"NULL":("'".$val1."'")) . ", ".
(($val2=='')?"NULL":("'".$val2."'")) .
")";
$result = mysql_query($query);
db_close(); // just some code to close the DB
}
Lưu ý rằng null phải được thêm là "NULL" và không phải là "NULL". Các giá trị không null phải được thêm vào là "'". $ Val1. "'", V.v.
Hy vọng điều này sẽ giúp tôi sử dụng điều này cho một số bộ ghi dữ liệu phần cứng, một số thu thập nhiệt độ và bức xạ, những người khác chỉ có bức xạ. Đối với những người không có cảm biến nhiệt độ tôi cần NULL và không 0, vì lý do rõ ràng (0 là một giá trị nhiệt độ được chấp nhận cũng).
này không thêm một giá trị mysql NULL. Điều này đặt thuộc tính cho chuỗi "NULL" khác với giá trị mysql NULL. Tôi chỉ nói rằng bạn đã viết hai điều khác nhau, đầu tiên là chính xác thứ hai không quá nhiều tôi nghĩ. – G4bri3l
@ G4bri3l: Trong chuỗi '$ query',' $ intLat' và '$ intLng' không được trích dẫn. Vì vậy, khi các biến được nội suy, nó sẽ là ', NULL, NULL);'. –
Ồ vâng tôi thấy điều đó ngay bây giờ. Tốt đẹp! Cảm ơn đã dành thời gian để chỉ nó ra cho tôi;) – G4bri3l