これは私のコードです:
if ($username == "" || $pass == "" || $emailad==""|| $fname=="")
{
$msg = "Not all fields were entered";
}else
{
if(uniqueUser($username,$emailad))
{
$msg="The username or email already exists";
}else
{
insertIntoDB($fname,$emailad,$username,$pass);
$msg="The user has been inserted";
}
}
echo $msg;
これは、データベースに新しいユーザーを挿入するために使用されます。ただし、私の問題は、存在しないユーザーを追加する場合、プログラムはユーザー名が既に存在することを通知しますが、データベースにない場合は新しいアカウントを挿入します。したがって、プログラムは、ユーザーがデータベースに存在するかどうかに応じて、挿入に関して正常に機能します。このコードをどのように書き直しても、存在しないユーザーを挿入すると間違ったメッセージが表示されるため、ユーザーが既にデータベースに存在するかどうかがわからないため、問題はメッセージ表示です。これは、コードが if ステートメントを実行し、新しいユーザーを挿入し、再度実行して、既に存在するというメッセージを表示するためです。なぜこれが起こるのか誰か説明できますか?
独自のユーザー機能:
function uniqueUser($usern,$eml)
{
$query = "SELECT S.username,S.email FROM tbl_user S WHERE S.username='$usern' OR S.email='$eml'";
return mysql_num_rows(queryMysql($query));
}