$username = $_POST['username'];
$password = $_POST['password'];
$passworda = $_POST['passworda'];
$email = $_POST['email'];
if ($password == $passworda){
echo 'this is the user name to be chacked:' .$username .'<br>';
$query = "SELECT username FROM mishta where username=$username";
$queryrun = mysql_query($query);
echo $queryrun .'<br>';
echo mysql_num_rows($queryrun) .'<br>';
if (mysql_num_rows($queryrun)!=1){
mysql_query("INSERT INTO mishta(id, username, password, email) VALUES ('', '$username','$password','$email')");
}
else{
echo 'user already exist';
}
你好,
我正在尝试制作一个简单的注册表单,我从html表单获取useername,我想确保它在我的数据库中不存在。 问题在于,每当我将用户名作为数字(1,2,3 ......)运行时,它就能顺利运行。
但是,当我尝试用字母写任何东西时,比如Bob或Dora我得到以下错误:
警告:mysql_num_rows()期望参数1是资源,在...中给出布尔值
然而,这些信息仍然存储在我的数据库中,意味着它在最后一个if语句中变为false,并且它将继续变为false(如果我再试一次,它将只插入重复项。)
任何帮助都将不胜感激。
答案 0 :(得分:0)
您忘记了用户名周围的引号:
$query = "SELECT username FROM mishta where username='$username'"
引号用作字符串分隔符。数字不是字符串,如果您使用数字,它就会起作用。