首先,我是php的新手。我也是MySQL的新手,所以請對我溫和。其次,我知道mysql_ *被貶值,並且一旦我瞭解了更多信息,這個問題就會在稍後被修復。無法從MySQL表中檢索數據
所以我有以下代碼:
if(isset($_POST['email']) && !empty($_POST['email']) AND isset($_POST['password']) && !empty($_POST['password'])){
$email = mysql_escape_string($_POST['email']);
$password = mysql_escape_string($_POST['password']);
$search = mysql_query("SELECT * FROM users WHERE email='".$email."' AND password='".$password."' AND active='1'") or die(mysql_error());
$match = mysql_num_rows($search);
if($match > 0){
$user=$search['forename'] .' '.$search['surname'];
$_SESSION['username']=$user;
$msg = 'Login Complete! Thanks, '.$user.'!';
}else{
$msg = 'Login Failed!<br /> Please make sure that you enter the correct details and that you have activated your account.';
}
}
很簡單,我檢查了電子郵件地址和密碼匹配(我知道這是不是一個哈希密碼......再次,不是一個問題,因爲它是一個測試)。如果他們這樣做,並且帳戶已被激活,那麼我想要返回用戶名和姓(用戶表中的forename/surname)並將它們存儲在會話變量中。如果該變量已設置,我想使用此信息來確認用戶已登錄(並因此可以訪問某些頁面)。但是,此測試不返回用戶名,而是輸出:
登錄完成!謝謝, !
任何幫助,將不勝感激。
mysql_num_rows現在已棄用。使用PDO或mysqli。 – Husman 2013-02-27 14:11:56
你需要mysql_fetch_array:while($ row = mysql_fetch_array($ search)){ $ user = $ row ['forename']。' 」。$行[ '姓']; } – 2013-02-27 14:12:28
當你運行這個時會發生什麼?你有一個SQL連接錯誤?或者什麼也沒有? – Husman 2013-02-27 14:13:37