Вставка нулевого значения в SQL, если поле формы пусто - PullRequest
0 голосов
/ 13 февраля 2012

Я пытаюсь добавить нулевое значение в базу данных, если поле формы оставлено пустым, но не получаю много удачи ...

Может кто-нибудь увидеть, где это происходит неправильно?

<?php
$con = mysql_connect("ipaddress","user","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("database", $con);

if (is_null($_POST["event_sub"]) || $_POST["event_sub"]=="") {
    $event_sub = NULL;
} else {
    $event_sub = mysql_real_escape_string($_POST["event_sub"]);
}

$sql="INSERT INTO myTable (event_sub)
VALUES
(". $event_sub .")";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

mysql_close($con)
?>

Ответы [ 2 ]

2 голосов
/ 13 февраля 2012

Возможно, попробуйте это:

if (is_null($_POST["event_sub"]) || $_POST["event_sub"]=="") {
$event_sub = 'NULL';
} else {
$event_sub = mysql_real_escape_string($_POST["event_sub"]);
}

Помещение значения NULL в одинарные кавычки приведет к тому, что в ваш запрос будет вставлено слово NULL, а не фактическое значение NULL, что является ничем.

0 голосов
/ 13 февраля 2012

зачем вам искать слово NULL?Просто оставьте вставку для этого столбца пустой.и убедитесь, что в таблице задано значение allow null.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...