我的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>
您的SQL查询中有一个错别字。然后字段名,('signup_email_address', 'signup_date','signup_time')
不能写在''
之间。这是专门用于字符串,在值中,而不是用于字段,表,模式或其他的名称。如果你想把它们放在引号之间,使用'代替。
正确来源:
$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."')";
和尝试。
查询应该如下所示
$sql = "INSERT INTO
signups (signup_email_address, signup_date,signup_time)
VALUES ('$email','$date','$time')";