新程序员 - 我创建了一个将用户添加到数据库的功能。这个功能可以在USER类中找到。我已经建立了mysql,让user_name成为唯一的密钥。如果用户试图输入一个已经存在的名字,它不会被输入到mysql数据库中,但是我的表单表示确定它已经被提交并且移动到下一页。我想让用户知道名称已经存在,并在注册表单上创建错误。有没有办法将它附加到这个函数?如何让用户知道该名称已存在
function add_member($name, $email, $password)
{
global $mysqli;
$query = "INSERT INTO members
SET
user_name = '".addslashes($name)."',
user_email = '".addslashes($email)."',
password = '". md5($password) ."'";
$success = $mysqli->query ($query);
if (!$success || $mysqli -> affected_rows == 0)
{
echo "<p> An error occurred: you just are not tough enough!!! </p>";
return FALSE;
}
$uid = $mysqli -> insert_id;
return $uid;
if (!$found_error)
{
header("location: homepage.php");
}
我没有亲自使用MySQLi,所以我会将它作为注释:您需要使用用户提供的电子邮件地址查询数据库。如果它返回的行数多于零,则它是重复的,并且以一种很好的方式告诉它们:-) – Bojangles
不要**使用'addslashes'来转义数据库输入!永远不能。 (使用'mysqli :: real_escape_string()'或[prepared statements](http://php.net/mysqli_prepare)来代替,并且为了避免使用md5并使用腌过的散列) – knittl
@pst:更新注释以提供准备好的语句 – knittl