我的網站上有一個註冊/登錄系統,並且我做到了這樣,如果某人嘗試註冊一個已經在使用的用戶名,它在表單下面發佈錯誤。但是,不是發佈我創建的錯誤消息,而是返回MySQL錯誤「錯誤:查詢爲空」。以下是我正在嘗試使用的代碼:PHP - MySQL錯誤「錯誤:查詢是空的」當有人試圖用已經採取的用戶名註冊
// checks if the username is in use if (!get_magic_quotes_gpc()) { $_POST['username'] = addslashes($_POST['username']); } $usercheck = $_POST['username']; $check = mysql_query("SELECT username FROM userpass WHERE username = '$usercheck'") or die(mysql_error()); $check2 = mysql_num_rows($check); //if the name exists it gives an error if ($check2 != 0) { $error = "Sorry, the username ".$_POST['username']." is already in use."; }
我在做什麼錯?
感謝
備註:**永遠不要**使用addslashes()來清理傳入數據。在輸出時使用'mysql_real_escape_string()',輸出時使用'htmlentities()' – 2010-10-29 10:05:12
'addslashes'肯定是錯誤的 – Quassnoi 2010-10-29 10:05:40
「查詢是空的」通常只在查詢確實爲空時纔會發生。您是否100%確定錯誤消息與您正在顯示的查詢有關? – 2010-10-29 10:06:04