Я создаю приложение PHP / MySQL, и у меня возникла проблема с моим запросом на создание и обновление. У меня есть 5 столбцов, которые установлены для типа FLOAT, которые также установлены как пустые столбцы. Я не планирую заполнять их намного позже в рабочем процессе.
Однако мне нужно создать новые записи для этой базы данных, и мне нужно редактировать существующие записи, не затрагивая эти 5 полей с плавающей запятой вообще. Я использую ООП PHP, который использует стандартный метод save()
, который проверяет, существует ли идентификатор в объекте. Если нет, он вызывает create()
, а если это так, он вызывает update()
. Обычно работает очень хорошо.
Методы update()
и create()
предназначены для извлечения из массива атрибутов protected static $db_fields
, объявленного в верхней части каждого класса, который содержит все поля, используемые в этой таблице. update()
и create()
проходят через этот массив и либо INSERT INTO
или UPDATE
в SQL, соответственно.
Насколько я понимаю, если вы используете ''
(две одинарные кавычки, пустые), SQL пропустит эти INSERT INTO
или UPDATE
запросы и оставит их как NULL. Поля формы для этих 5 значений с плавающей запятой нигде на странице отсутствуют, поэтому, конечно, когда методы будут запущены, значения будут ''
.
Поэтому я получаю сообщение об ошибке "Данные обрезаны"? Кажется иначе - я не видел усеченной ошибки раньше, и поэтому я прихожу к вам, гении. Спасибо.