输入留空时phpmyadmin不使用默认值

标签 php mysql

我有这个问题,如果我将“标题”的输入留空,那么在发送到数据库时它不会设置默认值:“无标题”。我已经在线查看并确保我在 phpmyadmin 中的设置是正确的,但它仍然不会设置默认值。任何建议都将不胜感激!

这是我对“标题”列的 PHPmyadmin 设置:

enter image description here

这些是我的文件:

添加艺术.php

<form method="post" action="addtodb.php">

  <label for="Title">
     <h4>Title</h4>
  </label>

  <input class="u-full-width" 
         type="text" 
         placeholder="Title of art" 
         id="Title"
         name="Title">

</form>

addtodb.php

<?php

if($_SERVER['REQUEST_METHOD'] == "POST") {

$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'testdb';

$dbConnection = new mysqli($host, $user, $pass, $db);

if (mysqli_connect_errno()) {
    printf("Could not connect to the mySQL database: %s\n", mysqli_connect_error());
    exit();
}

if($_POST) {

    $artwork = $_POST["Artwork"];
    $medium = $_POST["Medium"];
    $artist = $_POST["Artist"];
    $title = $_POST["Title"];

    $results = $dbConnection->query("INSERT INTO art 
                                   (Artwork, Title, Artist, Medium) VALUES      
                               ('$artwork','$title','$artist','$medium');");

    if (!$results) {
        echo 'Unable to insert into database.';
        exit();
    } else {
        echo 'Successfully added!';
    }

    mysqli_close($dbConnection);
    header("Location: galleryonly.php"); /* Redirect browser */
    exit();
}
?>

最佳答案

$artwork = $_POST["Artwork"];
$medium = $_POST["Medium"];
$artist = $_POST["Artist"];
$title = $_POST["Title"];

if(!empty($title)) {
   $sql = "INSERT INTO art (Artwork, Title, Artist, Medium) VALUES ('$artwork', '$title', '$artist', '$medium')";
} else {
   $sql = "INSERT INTO art (Artwork, Artist, Medium) VALUES ('$artwork', '$artist', '$medium')";
}

$results = $dbConnection->query($sql);

你可以试试这段代码。

如果您省略该列,将设置默认值。

因为您只有一列具有默认值,所以您可以坚持使用此代码。

如果您有多个默认值的列,则需要根据您的要求进行更改。

关于输入留空时phpmyadmin不使用默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40942229/

相关文章:

mysql - 使用 SQL 仅返回数据库中的最新记录

sql - 如何反转 MySQL 中的默认顺序?

javascript - 尝试在函数中显示/隐藏时,foreach 循环中的 div #id 仅选择最后一个变量

php - 使用下一个/上一个按钮从 mysql 回显一个图像

javascript - 使用 php 数组从 DatePicker 中的 onSelect 禁用 datepicker 中的日期和 timepicker 中的时间

mysql - Order by 无法与 Union ALL mysql 正常工作

mysql - 如何扩展和循环一组

php - 通过 cron 作业创建文件夹并在网站端操作它的权限

php - MYSQL 错误,服务器消失了?

mysql - 将 Rollup 与子查询结合使用