php中检查用户是否已经存在的代码是什么?
我是php和mysql的新手。我正在检查用户是否已经被占用。如果它已被获取,则不会添加到数据库中。然而,我尝试了很多代码来实现这个技巧,但是我使用的代码都不起作用。我不确定我做错了什么。这就是我现在拥有的:php中检查用户是否已经存在的代码是什么?,php,mysql,Php,Mysql,我是php和mysql的新手。我正在检查用户是否已经被占用。如果它已被获取,则不会添加到数据库中。然而,我尝试了很多代码来实现这个技巧,但是我使用的代码都不起作用。我不确定我做错了什么。这就是我现在拥有的: <?php include 'db_settings.php'; db_connect(); //Escape variables for security $user = mysqli_real_escape_string($con, $_POST['user']); $pas
<?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>";
?>`
您需要首先执行select查询,该查询将获取带有已发布电子邮件/用户名的用户,并检查结果中是否出现任何记录
只有在这之后才会触发insert查询
$sql = "SELECT email FROM users where email='".$email."'";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) > 0) {
//user already exists
}
如果您不想在重复记录的情况下执行任何操作,则还有一个备选方案
使用它将不会在复制时插入记录。您需要首先执行select查询,该查询将获取具有已发布电子邮件/用户名的用户,并检查结果中是否出现任何记录
只有在这之后才会触发insert查询
$sql = "SELECT email FROM users where email='".$email."'";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) > 0) {
//user already exists
}
如果您不想在重复记录的情况下执行任何操作,则还有一个备选方案
使用它不会在复制时插入记录。您应该尝试类似的方法
<?php
include "db_setting.php";
$user = $_POST['user'];
$pass = $_POST['pass'];
$email = $_POST['email'];
$check = mysql_query("select * from registration_table where username = $user");
$check_user = mysql_num_row($check);
if($check_user > 0)
{
echo "This username already exists";
}else
{
mysql_query("insert INTO registration_table ('user','pass','email') VALUES ($user,$pass,$email)");
}
你应该试试这样的方法
<?php
include "db_setting.php";
$user = $_POST['user'];
$pass = $_POST['pass'];
$email = $_POST['email'];
$check = mysql_query("select * from registration_table where username = $user");
$check_user = mysql_num_row($check);
if($check_user > 0)
{
echo "This username already exists";
}else
{
mysql_query("insert INTO registration_table ('user','pass','email') VALUES ($user,$pass,$email)");
}
您的代码似乎很好
做一件事,在mysql控制台或phpMyadmin上运行以下代码
ALTER TABLE `users` ADD UNIQUE (
`user`
);
您的代码似乎很好
做一件事,在mysql控制台或phpMyadmin上运行以下代码
ALTER TABLE `users` ADD UNIQUE (
`user`
);
您需要将数据库中的结果与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 }
您需要将数据库中的结果与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 }