im 正在注册,我想检查是否使用了用户名,不知道为什么mysql_num_rows(); 函数不会发布任何内容
<?php
if(isset($_POST['name_signup'])) {
if($_POST['pass_signup']==$_POST['pass_a_signup']){
$select=mysql_num_rows(mysql_query("SELECT * FROM users WHERE nick='".$_POST['nick_signup']."'"));
if($select=!0){
$name=$_POST['name_signup'];
$secondname=$_POST['secondname_signup'];
$nick=$_POST['nick_signup'];
$pass=$_POST['pass_signup'];
$mail=$_POST['email_signup'];
$passx=md5(md5($pass));
include 'db.php';
mysql_query("INSERT INTO users(firstname,secondname,nick,pass,email,date)VALUE('".$name."','".$secondname."','".$nick."','".$passx."','".$mail."',NOW())");
echo "Succesfully Signed up";
echo'<meta http-equiv="refresh" content="3;URL=../index.php">';
}else {
echo "Username used";
echo'<meta http-equiv="refresh" content="3;URL=../index.php?page=signup">';
}
}
else{
echo'Passwords do not match';
echo'<meta http-equiv="refresh" content="1;URL=../index.php?page=signup">';
}
}
else {
echo'<meta http-equiv="refresh" content="0;URL=../index.php">';
}
?>
mysql
扩展已被弃用,您应该停止使用它。而是尝试 mysqli
或 PDO
.
您的代码中有一个错误:
if($select=!0){
你应该像这样更正它:
if($select!=0){
再次,停止使用 mysql
.并开始使用预准备语句,否则您的代码将面临SQL注入的危险
请不要使用 mysql_()
使用 mysqli_(),因为 mysql_*() 已贬值
将此if($select=!0){
更新为 "if($select > 0){"
或
$qry = mysql_query("SELECT * FROM users WHERE nick= '".$_POST['nick_signup']."' ");
$select=mysql_num_rows(
$qry);
if($select > 0){