Php 如果表单字段为空,则在mysql数据库中插入替代值

Php 如果表单字段为空,则在mysql数据库中插入替代值,php,mysql,forms,webforms,Php,Mysql,Forms,Webforms,下面的表格收集了关于访客颜色偏好的数据 < >如果用户提交空白表单,如何在MySQL数据库中插入预定义的备选值。 这里要考虑的是,我不想阻止用户使用表单验证提交空白表单。 我目前的后端代码如下: if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO users (color_name) VALUES (%s)",

下面的表格收集了关于访客颜色偏好的数据

< >如果用户提交空白表单,如何在MySQL数据库中插入预定义的备选值。

这里要考虑的是,我不想阻止用户使用表单验证提交空白表单。 我目前的后端代码如下:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO users (color_name) VALUES (%s)",


   GetSQLValueString($_POST['color_name'], "text")),

  mysql_select_db($database_x, $x);
  $Result1 = mysql_query($insertSQL, $x) or die(mysql_error());

  $insertGoTo = "choicecolor.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }


要在php中执行此操作,请添加如下内容

$toInsert = isset($_POST['color_name'])? $_POST['color_name']: 'Your default string';
然后改变这条线

$insertSQL = sprintf("INSERT INTO users (color_name) VALUES (%s)", GetSQLValueString($_POST['color_name'], "text"));
对此

$insertSQL = sprintf("INSERT INTO users (color_name) VALUES (%s)", GetSQLValueString($toInsert, "text"));

但你真的应该先看看PDO等。正如Dark Wish提到的,在数据库级别执行此操作可能比使用php更好。

欢迎使用堆栈溢出。它们不再得到维护,并且已经开始使用。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果选择PDO,则在表结构中设置默认值
$insertSQL = sprintf("INSERT INTO users (color_name) VALUES (%s)", GetSQLValueString($toInsert, "text"));