Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php向mysql数据库添加生日_Php_Mysqli - Fatal编程技术网

使用php向mysql数据库添加生日

使用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> &

我修改了表单和php脚本,但仍然没有结果。现在,当我填写表单并按下按钮时,Apache Web服务器中出现了一个白色屏幕,下面是新代码:

<!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();
    }
}
?>