我正在修改另一个开发人员用PHP构建的Web应用程序。目前,如果用户填写表单并输入已使用的用户名,则会在新页面上显示MySQL错误Duplicate entry 'fred' for key 'username'
。我想这样做,以便在同一页面上显示错误消息,所以我试图检查输入的用户名是否与表中的另一个用户名匹配,但我无法让它工作。有什么想法吗?
$username_entry = ($_POST['username']);
$username_match = mysql_query("SELECT * FROM business WHERE username='$username_entry'");
if (($_POST['username']) == $username_match ) {
// do something
}
答案 0 :(得分:0)
首先,您没有从查询中返回任何内容以进行检查。我查询数据库以查看是否有任何行返回该用户名。 $ cnt是行数,因此如果大于零,则表示重复。
$username_entry = ($_POST['username']);
$username_match = mysql_query("SELECT count(*) FROM business WHERE username='$username_entry'");
$cnt = mysql_num_rows($username_match);
if (($cnt > 0 ) {
// do something
}