【发布时间】:2018-01-16 22:50:07
【问题描述】:
这是一个注册示例代码,用户需要输入他/她的名字、姓氏、用户名、电子邮件、密码并重新输入他/她的密码。出于某种原因,我无法将任何数据插入到我的数据库中。
<?php
session_start();
$db = mysql_connect("localhost", "janrex", "webdev", "cuisine");
if(isset($_POST['SI']))
{
$firstname = mysql_real_escape_string($_POST['f_name']);
$lastname = mysql_real_escape_string($_POST['l_name']);
$username = mysql_real_escape_string($_POST['u_name']);
$email = mysql_real_escape_string($_POST['email']);
$pass1 = mysql_real_escape_string($_POST['pass1']);
$pass2 = mysql_real_escape_string($_POST['pass2']);
if($pass1 == $pass2)
{
$sql = mysql_query($db, "INSERT INTO users(fname, lname, uname, email, password) VALUES ('$f_name', '$l_name', '$u_name', '$email', '$pass1')");
header("location: home.php");
}
else
{
header("location: error.php");
}
}
?>
【问题讨论】:
-
不要使用已弃用且不安全的 mysql*-函数。它们自 PHP 5.5(2013 年)以来已被弃用,并在 PHP 7(2015 年)中完全删除。请改用 MySQLi 或 PDO。 2.你对SQL Injections很开放,应该真正使用Prepared Statements而不是连接你的查询,如果你使用上面提到的MySQLi或PDO,就可以使用。
-
mixed mysql_query ( string $query [, resource $link_identifier = NULL ] ) -
你有
mysql_query()的参数顺序向后。查询是第一个,$db是第二个(并且是可选的)。 -
如果您升级到
mysqli,您的订单将是正确的。 -
您遇到什么错误?请在此处发布您的错误。另外请添加“echo mysql_error();”在您的 else 语句中使用函数,以便您可以了解脚本中存在的位置和问题。
标签: php mysql database wampserver