javascript по клику загружает данные из html таблицы в форму:
document.getElementById("middlename").value = (document.getElementById(msg.id).getElementsByTagName("td")[2].innerHTML);
из формы отправляем PHP скрипту:
$years=$_REQUEST['years'];
скрипт записывает в БД:
$sql="UPDATE users SET years= '$years' WHERE id='$id';
Тип строки в БД Integer, значение по умолчанию NULL
всё хорошо, но иногда в таблице значения years нет, а в БД записывается 0
Добавил в начало PHP скрипта проверку:
if ($_REQUEST['years'] == "") {
$years = NULL;
} else {
$years = $_REQUEST['years'];
}
и всяко-разно пробовал, никак не срабатывает присвоение NULL
Примечание:
document.getElementById("years").value = (document.getElementById(msg.id).getElementsByTagName("years")[2].innerHTML);
разумеется (забыл исправить)
Примечание:
Да, а как по другому? Это дифолтное значение
Примечание:
UPDATE `ххххх`.`users` SET `years` = NULL WHERE `id` =708;
из phpmyadmin выполняется без проблем
Примечание:
if ($_REQUEST['years'] == "") {
$years = 9999;
} else {
$years = $_REQUEST['years'];
}
присваивает 999
не так null передаю что-ли?
Примечание:
похоже понял
Примечание:
Проблема была тут:
$sql="UPDATE users SET years= '$years' WHERE id='$id';
какое бы значение NULL к $years я не присваивал, оно в SQL запросе заключалось в 'NULL', убрал кавычки, всё заработало
всем спасибо
Примечание:
ничего подобного, оно запрос просто не срабатывает теперь
Примечание:
как присвоить NULL либо число в одном PHP скрипте? не убирать же кавычки каждый раз если значение NULL?
Примечание:
Можно конечно каждый раз делать ещё запрос:
UPDATE users
SET years= NULL
WHERE years= 'NULL'
но это явно не оптимальное решение
Примечание:
2 NetRain: непонятно к чему Вы написали тоже самое что и я?
В итоге я видимо уберу кавычки в SQL и буду их добавлять в присвоении если значение не NULL
if ($_REQUEST['years'] == "") {
$years = NULL;
} else {
$years = "'".$_REQUEST['years']."'";
}
SQL:
$sql="UPDATE users SET years= $years WHERE id='$id';
так должно заработать я думаю
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.