Эй, ребята, я прочитал много сообщений об этом (которые очень старые), и я пробовал все в них, но я не могу понять, проблема ..PHP SQL UPDATE только в том случае, если данные post имеют данные с использованием COALESCE()
Итак, у меня есть форма для обновления записей в таблице. Но скажите, если имя не было введено, оно не сохраняет исходное имя обновлением, остальное просто заменяет его пустой строкой.
Я пробовал использовать COALESCE(), но он ничего не узнает из моего php-кода как значение NULL.
Если я не ставлю кавычки «», то я получаю SQL ошибки, но если я это не признаваемых утратившими ..
, например, если я SSH и запустить MySQL и тип ..
выберите coalesce ('', 'test');
тогда MySQL просто отображает пустую строку, а не строку с чем-то в ней.
Просто не могу показаться, чтобы получить прошлое делать запросы с почтовыми переменными без проблем КАВЫЧКА ..
Вот мой код ...
/* Original query that replaces with empty input feilds...
$update = "UPDATE KIT202_product SET Name='". $_POST['name']
. "', Price='". $_POST['price']
. "', Description='". $_POST['desc']
. "' WHERE ID=". $_POST['id'];
*/
//What I ended up trying but still doesn't work :(...
$name=NULL;
if (!empty($_POST['name'])) $name="'". $_POST['name']. "'";
$price=NULL;
if (!empty($_POST['price'])) $price="'". $_POST['price']. "'";
$desc=NULL;
if (!empty($_POST['desc'])) $desc="'". $_POST['desc']. "'";
это не работает, потому что нуль просто не проходит ничего вместо NULL, чтобы он мог работать с одним значением.
Можете ли вы показать часть кода, выдающего инструкцию по обновлению? –