0

我的 PHP 程序不会将我在浏览器中输入的记录插入到我的 SQL 数据库中。请参阅下面的代码。此代码是对我之前询问的代码的更新。出于安全考虑,有人建议这样做。

我没有收到任何错误,所有程序在浏览器中运行良好,但是每当我检查数据库时,在运行代码后没有输入任何条目。我错过了什么吗?

<html>
<head>
</head> 
<body>
<form action="register_development_file_1b.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") or die(mysql_mysql);
       mysql_select_db("databasename", $con) or die(mysql_query("databasename", $con));

      $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);
    }
?>
</body>
</html>
4

3 回答 3

2

您的 SQL 查询中有错字。然后字段的名称,('signup_email_address', 'signup_date','signup_time')不得写在 之间''。这仅用于字符串、值中,而不用于字段、表、模式或其他名称的名称。如果要将它们放在引号之间,请使用 ` 代替。

于 2013-05-18T19:06:10.410 回答
1

正确来自:

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

至:

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

并尝试。我认为它应该工作。

于 2013-05-18T19:09:02.237 回答
0

查询应如下所示

$sql = "INSERT INTO 
            signups (signup_email_address, signup_date,signup_time) 
            VALUES  ('$email','$date','$time')";
于 2013-05-18T19:13:06.493 回答