PHP检查数据库中的用户ID
我使用jquery ajax将数据发送到php文档。对用户输入的第一个检查($check\u user\u exists)是查看同一$email下是否有帐户。我曾尝试在if语句之前编写函数,但也没有成功 我得到以下错误: 分析错误:语法错误,在第8行的C:\xampp\htdocs\workflow\ajax\register.php中出现意外的“return”(T_return) 提前谢谢!代码如下:PHP检查数据库中的用户ID,php,mysql,ajax,database,Php,Mysql,Ajax,Database,我使用jquery ajax将数据发送到php文档。对用户输入的第一个检查($check\u user\u exists)是查看同一$email下是否有帐户。我曾尝试在if语句之前编写函数,但也没有成功 我得到以下错误: 分析错误:语法错误,在第8行的C:\xampp\htdocs\workflow\ajax\register.php中出现意外的“return”(T_return) 提前谢谢!代码如下: if (isset($_POST['email']) && isset($_
if (isset($_POST['email']) && isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['role']) && isset($_POST['pw'])){
$email = strtolower($_POST['email']);
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$pw = crypt($_POST['pw'], md5($email));
$role = $_POST['role'];
$check_user_exists = return (mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE user_id = '$email.'"), 0)==1) ? true : false;
if($check_user_exists === true){
echo 'Our records show an account already exists under this email.';
}
这样做:
$email = mysql_real_escape_string(strtolower($_POST['email']));
$firstname = mysql_real_escape_string($_POST['firstname']);
$lastname = mysql_real_escape_string($_POST['lastname']);
$pw = crypt($_POST['pw'], md5($email));
$role = mysql_real_escape_string($_POST['role']);
$result = mysql_query("SELECT COUNT(*) AS count FROM `users` WHERE user_id = '$email'") or die(mysql_error());
$row = mysql_fetch_assoc($result);
$check_user_exists = $row['count'];
if ($check_user_exists > 0){
echo 'Our records show an account already exists under this email.';
} else {
mysql_query("INSERT INTO users (user_id, firstname, lastname, pw, role)
VALUES ('$email', '$firstname', '$lastname', '$pw', '$role')") or die(mysql_error());
echo 'User added successfully.';
}
你的用户名就是电子邮件?使用会使你的代码减少不少于30%。“不起作用”是不够的。解释问题所在。
mysql\u result()
返回user\u id
字段的内容。由于您的用户ID显然是他们的电子邮件,而不是识别号,因此它永远不会是==1
。Fred ii,感谢您捕获该错误!嘿,Barmar,看起来它的工作原理是它没有添加任何新条目,但它没有回显错误消息。我忘了提到我的数据库叫做“工作流”,它托管在localhost上。因此,我添加了一个select db语句,但它仍然不起作用。在查询中,在$email
之后有一个额外的
。我已经添加了添加新条目的代码。这两条信息中的一条应该得到回应。