使用php向mysql数据库添加生日
我修改了表单和php脚本,但仍然没有结果。现在,当我填写表单并按下按钮时,Apache Web服务器中出现了一个白色屏幕,下面是新代码:使用php向mysql数据库添加生日,php,mysqli,Php,Mysqli,我修改了表单和php脚本,但仍然没有结果。现在,当我填写表单并按下按钮时,Apache Web服务器中出现了一个白色屏幕,下面是新代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert</title> &
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert</title>
</head>
<body>
<form action="insertform3.php" method="post">
Name: <input type="text" name="name"><br>
Phone: <input type="text" name="phonenumber"><br>
Birhtday: <input type="date" name="birthday"><br>
<input type="submit" name="submit">
</form>
</body>
</html>
插入
名称:
电话:
伯赫特日:
这是PHP表单:
<?php
define('HOST', 'localhost');
define('USER', 'root');
define('PASS', 'password');
define('DBNAME', 'database');
$db = new mysqli(HOST, USER, PASS, DBNAME);
if ($db->connect_errno) {
echo "Failed to connect to MySQL: (" . $db->connect_errno . ") " . $db->connect_error;
}
if ($_POST['submit']) {
$name = $_POST['name'];
$phonenumber = $_POST['phonenumber'];
$birthday = $_POST['birthday'];
if (!empty($name) && !empty($phonenumber) && !empty($birthday)) {
$query = "INSERT INTO form_data (name,phonenumber,birthday)
VALUES(?,?,?)";
$conn = $db->prepare($query);
if ($conn->execute(array(
$name,
$phonenumber,
$birthday
))) {
header('location: http://localhost/insertform-2.html');
} else {
echo 'error';
}
$db->close();
}
}
?>
您必须确保以正确的格式yyy mm dd输入出生日期,并在数据库中将出生日期设置为键入日期
$name = $_POST['name'];
$phonenumber = $_POST['phonenumber'];
$birthdate = $_POST['birthdate'];
if (!empty($name) && !empty($phonenumber) && !empty($birthdate)) {
$query = "INSERT INTO formdatabase (name,phonenumber)
VALUES($name,$phonenumber,$birthdate)";
如果提交表单,您会遇到什么错误?最好使用if(isset($\u POST['submit']){
而不是if($\u POST['submit']){
并尝试使用if(!empty($\u POST['name'])和&!empty($\u POST['phonenumber']){
而不是if(!empty($name)&!empty($phonenumber)){
我没有投反对票,但投反对票的人可能是因为你写的值($name,$phonenumber,$birthdate)
应该用引号括起来值(“$name”,“$phonenumber”,“$birthdate”)
加上你只有(name,phonenumber)
其中缺少生日
,该生日应为(姓名、电话号码、生日)
如果OP有一个名为那样的专栏。我刚刚添加了他缺少的内容,我错过了那些内容,我很抱歉。感谢你在我的问题上帮助我!感谢你的回答yuriah,我如何在我的sql数据库中添加yyy mm dd格式?在你的html的出生字段中,确保给他们3个框,应该是4个对于1996年3月1日,月份应该是2个数字,日期也应该是2个数字(例如:1996-03-01)。由于您使用了3个框,您必须给它们一个名称,然后在php上获取它们的值$year$month$day,然后将其输入数据库中的值([此处的其他值],“$year.”-“$month.”-“$day”),我确信您的意思是(姓名、电话号码、生日)
你写的bithday
遗漏了r
——你还应该记下你建议OP做什么,并包括你添加的内容。感谢helo samitha我将测试你的脚本非常感谢。
<?php
define('HOST', 'localhost');
define('USER', 'root');
define('PASS', 'xxxxxxxxx');
define('DBNAME', 'database');
$db = new mysqli(HOST, USER, PASS, DBNAME);
if ($db->connect_errno) {
echo "Failed to connect to MySQL: (" . $db->connect_errno . ") " . $db->connect_error;
}
if ($_POST['submit']) {
$name = $_POST['name'];
$phonenumber = $_POST['phonenumber'];
$birthday = $_POST['birthday'];
if (!empty($name) && !empty($phonenumber)) {
$query = "INSERT INTO formdatabase (name,phonenumber,bithday)
VALUES(?,?,?)";
$conn = $db->prepare($query);
if ($conn->execute(array(
$name,
$phonenumber,
$birthday
))) {
header('location: http://localhost/insertform-2.html');
} else {
echo 'error';
}
$db->close();
}
}
?>