Php 如何检查用户名是否已注册
如果工作不正常,则我的Php 如何检查用户名是否已注册,php,if-statement,Php,If Statement,如果工作不正常,则我的异常。你能告诉我哪里出了错,并解释它是如何工作的吗?谢谢大家! 这是我的PHP代码 <?php include_once('config.php'); if(isset($_POST['username'])){ $username = $_POST['username']; $first_name = $_POST['first_name']; $last_name = $_POST['last_na
异常。你能告诉我哪里出了错,并解释它是如何工作的吗?谢谢大家!
这是我的PHP代码
<?php
include_once('config.php');
if(isset($_POST['username'])){
$username = $_POST['username'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$password = $_POST['password'];
if(strlen($password)<6){
exit ('Password must contain 6 symbols');
}
$password = md5($password);
$query ="INSERT INTO register(username,first_name,last_name,email,phone,password) VALUES ('$username', '$first_name', '$last_name', '$email', '$phone', '$password')"
or die(mysqli_error($connect));
if($result=mysqli_query($connect,$query)) {
echo '<h3><font color="red">You have successfully registered</font></h3>';
}else if (mysqli_num_rows($result)==0) {
exit("Username already exists");
}
}
?>
试试这个:
$result=mysqli_query($connect,$query);
if($result) {
echo '<h3><font color="red">You have successfully registered</font></h3>';
}else {
exit("Username already exists");
}
$result=mysqli\u查询($connect,$query);
如果($结果){
echo“您已成功注册”;
}否则{
退出(“用户名已存在”);
}
因此,使用第一条指令运行查询,然后将查询结果分配给$result。接下来检查$result是否存在。如果是,则已插入用户。如果不是,则复制用户。执行此检查不需要向else添加if语句。mysqli_num_rows()
只能用于SELECT
查询,它返回结果集中的行数
要测试受修改查询影响的行数,请使用。这个参数应该是$connect
,而不是$result
(它只是一个布尔值)
$result=mysqli\u查询($connect,$query);
如果(!$result){
die(mysqli_错误($connect));
}elseif(mysqli受影响的行($connect)==0){
退出(“用户名已存在”);
}否则{
echo“您已成功注册”;
}
或die
应该在mysqli\u查询
行的末尾,而不是字符串赋值。除了Barmar的回答之外:你从不处理数据库错误,就像你用查询产生的错误一样,否则如果工作正常,但是你没有else分支:)在insertion上有一个num\u行
,这段代码有严重的SQL注入问题-请在上线前修复。(我已经删除了修复你的代码的请求-这可能是你被否决的原因-我们很乐意在这里提供帮助,但我们不会为他们做任何工作。值得记住的是,你的下一个问题!)@Styphon不,这不属于代码审查。请阅读
$result = mysqli_query($connect, $query);
if (!$result) {
die (mysqli_error($connect));
} elseif (mysqli_affected_rows($connect) == 0) {
exit ("Username already exists");
} else {
echo '<h3><font color="red">You have successfully registered</font></h3>';
}