当前位置: 首页 > 知识库问答 >
问题:

php中检查用户是否已经存在的代码是什么?[副本]

闽念
2023-03-14

我是php和mysql的新手。我正在检查用户是否已经被占用。如果它已被获取,则不会添加到数据库中。然而,我尝试了很多代码来实现这个技巧,但是我使用的代码都不起作用。我不确定我做错了什么。这就是我现在拥有的:

<?php

include 'db_settings.php';

db_connect();

//Escape variables for security
$user = mysqli_real_escape_string($con, $_POST['user']);
$pass = mysqli_real_escape_string($con, $_POST['pass']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$sql="INSERT INTO users (user, pass, email)
        VALUES ('$user','$pass', '$email')";


if (!mysqli_query($con,$sql)) {
    die('Error: ' . mysqli_error($con));
}

echo "1 record added</br>";

mysqli_close($con);

echo "<a href='sign-up.html'>sing-up again!</a></br>";
echo "<a href='index.html'> Go Back Home </a>";

?>`

我知道这个代码没有检查功能,如果用户已经采取或没有,因为我删除了所有的代码。所以如果可能的话,如果你们能帮我,我会很感激的。

共有3个答案

张玺
2023-03-14

您需要首先执行select查询,该查询将获取具有已发布电子邮件/用户名的用户,并检查结果中是否出现任何记录。

只有在这之后才会触发insert查询。

$sql = "SELECT email FROM users where email='".$email."'";
$result = mysqli_query($con, $sql);

if (mysqli_num_rows($result) > 0) {
  //user already exists
}

如果您不想在重复记录的情况下执行任何操作,则还有一个备选方案。

使用INSERT...IGNORE它不会在重复时插入记录。

逑阳泽
2023-03-14

您需要将数据库中的结果与Select查询匹配,where子句中的条件取决于您希望匹配记录的基础。你可以试试这样的

$query = "SELECT email,user FROM users where user='$user' and email='$email' ";   
$result = mysql_query($query);    
if (mysql_num_rows($result)) {    // user already exists   }    
else {     // Insert query    }
史淇
2023-03-14

您的代码似乎很好,请在mysql控制台或phpMyadmin上运行以下代码

ALTER TABLE  `users` ADD UNIQUE (
`user`
);
 类似资料:
  • 问题内容: 我正在使用以下对我不起作用的代码。 无法在 C:\ xampp \ htdocs \ Exp \ welcome.php 中将mysqli_result类的对象转换为int 问题答案: 该代码对您来说很好…

  • 问题内容: 我正在尝试检查用户名是否存在。当我打电话时,快照值始终可用,但是它将打印我的整个数据库,而不仅仅是我请求的数据。当我打电话时,它总是返回null。我尝试了很多方法来解决。 这是我的代码: 这是我的json树: 这是安全规则: 问题答案: 修改 JSON 树以包含一个单独的节点,即在您创建新用户时添加每个用户的用户名,在用户修改其用户名时进行修改… 要检查您的用户名是否已经存在: 通过操

  • 我想检查一个用户名是否已经存在于我的数据库中。如果是的话,我想重定向回我的注册页面。我的代码可以添加用户名,但不检查用户名是否存在。请救命!!!这是register.php页面的代码。代码完全跳过对'username'的检查,并将其插入到数据库中(如果它存在或不存在)。

  • 问题内容: 查看URL存在并且响应不是404的最佳方法是什么? 问题答案: 您可以使用 手册中的示例2 : 第一个数组元素将包含HTTP响应状态代码。您必须解析它。 请注意,示例中的函数将发出HTTP HEAD请求,这意味着它将不会获取URL的正文。这比使用GET请求(也将返回正文)更有效。 还要注意,通过设置 默认 上下文,任何使用http流上下文的后续调用现在都将发出HEAD请求。因此,确保完

  • 我正在设置一个函数,以检查传递的用户名是否存在于我数据库的表中。为了做到这一点,我使用了以下代码: 然而,无论我尝试设置为,我都无法获得任何

  • 如果文档ID不存在,我想将数据添加到firestore数据库中。到目前为止,我一直在尝试: 目标是检查数据库中的所有文档ID,并查看与“varuId”变量的任何匹配。如果匹配,则不会创建文档。如果不匹配,它应该创建一个新文档