PHP/MYSQL 重复电子邮件地址

标签 php sql mysql database

我正在尝试阻止我正在处理的网站上的用户拥有重复的电子邮件地址。这是我正在使用的方法:

function createUser( $emlAd )
{
     $sql = "SELECT FROM Users WHERE email='$emlAd'" ;

     $result = mysql_query( $sql ) ;

     if( mysql_num_rows( $result ) > 0 )
     {
 die( "There is already a user with that email!" ) ;
     }//end if

     //rest of function
}//end createUser

此代码未完成其任务,用户仍然可以使用已使用的电子邮件创建帐户。奇怪的是,当我将 if 条件更改为:

mysql_num_rows( $result ) == 0 

用户无法使用任何电子邮件地址创建帐户。为什么当行数大于 0 时,代码不将控制传递给 if block ?

最佳答案

试试这个:

SELECT * FROM...(注意 SELECT 后面的星号).. 我认为您没有通过运行它的方式调用任何记录(除了 Users 中的第一条记录)。我可能是错的,但无论如何,请尝试一下。

关于PHP/MYSQL 重复电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4703714/

相关文章:

php - MYSQL 请求是否应该分组

MySql查询语法错误DATE_SUB

mysql - 如何使用sql根据另一个查询的结果选择元素

php - 使用 cakephp 从数据库中推荐单词

python - `pip install mysql-python` 失败,返回 "ld: library not found for -lssl"

php - 基于数据库中的数据在 PHP 中动态构建菜单太慢

php - Laravel Auth::user() 关系

javascript - 使用 JavaScript 和 PHP 获取基本 URL 和任何超过 .com 部分的内容

PHP 查询需要一段时间才能返回结果

mysql - 如何在MySQL中有效地从最大的N条记录中选择一条随机记录(不使用子查询)?