Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP检查数据库中的用户ID_Php_Mysql_Ajax_Database - Fatal编程技术网

PHP检查数据库中的用户ID

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($_

我使用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($_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
之后有一个额外的
。我已经添加了添加新条目的代码。这两条信息中的一条应该得到回应。