Tôi đang tạo ứng dụng PHP/MySQL và tôi đang gặp sự cố với truy vấn tạo và cập nhật của mình. Tôi có 5 cột được đặt thành loại FLOAT cũng được thiết lập như các cột NULL Tôi không có kế hoạch điền chúng vào cho đến sau này trong tiến trình công việcLỗi này là gì? "Truy vấn cơ sở dữ liệu không thành công: Dữ liệu bị cắt bớt cho cột 'column_name' tại hàng 1
Tuy nhiên, tôi cần tạo bản ghi mới cho cơ sở dữ liệu này. Tôi đang sử dụng OOP PHP sử dụng phương thức save()
tiêu chuẩn để kiểm tra xem ID có tồn tại trong đối tượng hay không. Nếu không, nó gọi create()
và nếu có, nó sẽ gọi là update()
. tốt, thường là
Các phương thức update()
và create()
được thiết kế để lấy từ một mảng thuộc tính protected static $db_fields
được khai báo ở đầu mỗi Lớp, chứa tất cả các trường được sử dụng trong bảng đó. update()
và create()
chạy qua mảng đó và INSERT INTO
hoặc UPDATE
trong SQL, tương ứng.
Hiểu biết của tôi là nếu bạn sử dụng ''
(hai dấu nháy đơn, trống), SQL sẽ bỏ qua các yêu cầu INSERT INTO
hoặc UPDATE
và để chúng là NULL. Thậm chí không có các trường biểu mẫu cho 5 giá trị float đó ở bất kỳ đâu trên trang, do đó, tất nhiên khi các phương thức chạy, các giá trị sẽ là ''
.
Đó có phải là lý do tôi nhận được lỗi "Cắt dữ liệu" không? Có vẻ như khác - tôi chưa từng thấy lỗi cắt ngắn trước đây và đó là lý do tại sao tôi đến với các thiên tài của bạn. Cảm ơn.
Linh cảm của tôi là MySQL kỳ vọng các giá trị được ghi vào trường FLOAT ít nhất là số hoặc NULL. Bạn đã thử sử dụng NULL thay vì ''? – jkndrkn