我的PHP代码不会将记录插入SQL dabase表

我的PHP代码不会将记录插入SQL dabase表,php,Php,我的网站上有以下PHP代码/文件,但出于某些不正当的原因,它不会按要求将用户键入的记录插入mySQL数据库表。谁能告诉我这是为什么 就我所知,代码是完全正确的,我不知道为什么会发生这种情况 请帮助…代码如下 <html> <head> </head> <body> <form action="register_development_file_1.php" method="post"> Email: <input ty

我的网站上有以下PHP代码/文件,但出于某些不正当的原因,它不会按要求将用户键入的记录插入mySQL数据库表。谁能告诉我这是为什么

就我所知,代码是完全正确的,我不知道为什么会发生这种情况

请帮助…代码如下

<html>
<head>
</head> 
<body>
<form action="register_development_file_1.php" method="post">
    Email:  <input type="text" name="email"><br />
    Date:   <input type="text" name="date"><br />
    Time:   <input type="text" name="time"><br />
        <input type="submit" name="submit">
</form>

    <?php
    if  (isset($_POST['submit']))
    {
        $con = mysql_connect("localhost","username","password");
        if (!$con)
        {
            die("Could not connect to the database: " . mysql_error());
        }

        mysql_select_db("wwwbrecs_BREC",$con);

   $sql = "INSERT INTO 'signups' ('signup_email_address', 'signup_date', 'signup_time') VALUES ('$_POST[email]','$_POST[date]','$_POST[time]')";

        mysql_query($sql,$con);

        mysql_close($con);
    }
    ?>
</body>
</html>

电子邮件:
日期:
时间:

这里是您创建的脚本的一个更好的版本,因为您的脚本对SQL注入是100%开放的,甚至不是传统的编码方式,这更安全,但如果您需要安全,那么我建议您从了解PDO

<?php
     if(isset($_POST['submit'])){
       mysql_connect("localhost","username","password") or die(mysql_error());
       mysql_select_db("wwwbrecs_BREC", $con) or die(mysql_query());

      $email = mysql_real_escape_string($_POST['email']);
      $date = mysql_real_escape_string($_POST['date'])
      $time = mysql_real_escape_string($_POST['time'])

       $sql = "INSERT INTO 
            signups ('signup_email_address', 'signup_date','signup_time') 
            VALUES  ('".$email."','".$date."','".$time."')";

        mysql_query($sql, $con) or die(mysql_error());

        mysql_close($con);
    }

注册表不应该用单引号括起来,而应该用撇号括起来`

所以

    $sql = "INSERT INTO 'signups' ('signup_email_address', 'signup_date',                          'signup_time') VALUES ('$_POST[email]','$_POST[date]','$_POST[time]')";
应该是

    $sql = "INSERT INTO `signups` ('signup_email_address', 'signup_date',                          'signup_time') VALUES ('$_POST[email]','$_POST[date]','$_POST[time]')";
INSERT INTO signups (signup_email_address, signup_date, signup _time) VALUES 

查询中有一个语法错误,您不应该用引号将表名和列括起来
,至少您可以使用倒勾`

INSERT INTO 'signups' ('signup_email_address', 'signup_date','signup_time')
应该是

    $sql = "INSERT INTO `signups` ('signup_email_address', 'signup_date',                          'signup_time') VALUES ('$_POST[email]','$_POST[date]','$_POST[time]')";
INSERT INTO signups (signup_email_address, signup_date, signup _time) VALUES 

只有值(实际上不是整数列的整数)应该用引号括起来


然后我想提醒您,
mysql\uuu
函数已被弃用,因此我建议您切换到或,事实上,您正面临
sql注入的风险,请看这里。您应该使用prepared station来避免任何风险

Check
mysql\u error()
在查询语句之后检查错误。此外,
mysql\u x
函数也被弃用。看看PDO和mysqli作为替代品。很抱歉我的php技能很差。什么是提交?你根本不应该使用反勾号为什么不呢?在这里,我找到了一个很好的解释,解释了为什么它们是有用的——设计数据库并不总是由您决定