【发布时间】:2016-12-04 12:39:53
【问题描述】:
我有这个问题,如果我将“标题”的输入留空,那么当发送到数据库时它不会设置默认值:“无标题”。我在网上查看并确保我的设置在 phpmyadmin 中是正确的,但它仍然不会设置默认值。感谢任何建议!
这是我对“标题”列的 PHPmyadmin 设置:
这些是我的文件:
addart.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();
}
?>
【问题讨论】:
-
添加列或执行插入操作时会出现这种情况?
-
@Perumal93 它发生在我执行插入操作时。当我在将 Title 的输入留空后检查 phpmyadmin 中的数据库表时,它也是空白的。
-
这里有一篇文章解释了如何avoid SQL Injection
-
要获取默认值,请勿将标题添加到列列表或值列表中。不要插入任何东西,将插入默认值。
-
@WEBjuju 啊,我明白你在说什么。似乎我将不得不制作多个 if 语句?