如果我填寫表單中的每個輸入,數據將成功進入數據庫,但是當我沒有填充輸入電話時,數據將不會進入數據庫,會給出錯誤:MySQL - PDO - 允許如果POSTS爲NULL
error sqlstate 23000 integrity constraint violation 1048 column 'telephone' cannot be null
因此,這意味着,如果該字段的電話是空的,我會點擊提交數據將不會進入數據庫。
所以我的問題是:我如何允許,如果textinput'電話'沒有填充,數據仍然會進入數據庫?
這是.PHP
<?php
include("dbconfig.php");
if(isset($_POST['name']))
{
try {
$date= date('d.m.y');
$tijd= date("H:i A");
$ip = $_SERVER['REMOTE_ADDR'];
$conn = new PDO('mysql:host=localhost;dbname=*****', $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$mhbt = $conn->prepare("INSERT INTO orders (name, email, telephone, city) VALUES (?, ?, ?, ?)");
$mhbt->bindParam(1, $_POST["name"]);
$mhbt->bindParam(2, $_POST["email"]);
$mhbt->bindParam(3, $_POST["telephone"]);
$mhbt->bindParam(4, $_POST["city"]);
$mhbt->bindParam(5, $date);
$mhbt->bindParam(6, $tijd);
$mhbt->bindParam(7, $ip);
$mhbt->execute();
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
}
?>
更改表。將'telephone field'的默認值更改爲'null'。所以如果沒有賦值,那麼自動將null添加到'telephone'字段。嘗試並告訴發生了什麼。謝謝 –