2015-10-20 56 views
0

最近,我正在登錄和註冊頁面,在這裏,如果你報名確認您的帳戶的郵件被髮送。我使用MySQL作爲賬戶列表,並有一個'確認'列,其中0(未確認)或1(已確認)。現在PHP不執行登錄表單的MySQL

,我創建了下面的腳本來登錄,但它似乎並不奏效。在執行這個腳本之後,我看到了「正在處理...」,然後我看到了「這樣的悲傷」部分。我已經在PHPMyAdmin中檢查過該帳戶存在,並且它已被確認。 MySQL_Base是連接到數據庫的文件,該文件包含在腳本工作的其他文件中。

這裏有什麼確切的問題?在聊天

if($result = mysqli_query($conn, $sql) && $result->num_rows > 0){ 

UPDATE討論後最後版本:

ini_set('display_errors',1); 
ini_set('display_startup_errors',1); 
error_reporting(-1); 
$email = $_POST['email']; 
$password = $_POST['password']; 
include("mysql_base.php"); 
echo "Processing...<br>"; 
$sql = "SELECT * FROM pages_accounts WHERE confirm='1' AND email='".$email."' AND pass='".$password."' LIMIT 1"; 
if($result = mysqli_query($conn, $sql) && $result->num_rows > 0){ 
    echo "FOUND UR ACCOUNT. MUCH HAPPINESS. SUCH GLAD. WOW REDIRECTING..."; 
} else { 
    echo "SUCH SADNESS. NO ACCOUNT WITH SUCH NAME. WEIRD RETURN. WOW. WHY NOT <a href='loginSignup.php'>SIGNUP</a>?"; 
} 
+1

你混合'mysql_'一個d'mysqli_'函數。這些是兩個獨立的圖書館,不能一起工作。 – andrewsi

+0

@andrewsi我把他們混在一起了? – FoxInFlame

+0

'if(mysql_fetch_array($ query)!==' – andrewsi

回答

1

替換這些3行:

$query = mysqli_query($conn, $sql); 
$row = mysqli_fetch_assoc($query); 
if(mysql_fetch_array($query) !== false){ 

與這一個

if($result = mysqli_query($conn, $sql)) { 
    if ($result->num_rows > 0){ 
     echo "FOUND UR ACCOUNT. MUCH HAPPINESS. SUCH GLAD. WOW REDIRECTING..."; 
    } else { 
     echo "SUCH SADNESS. NO ACCOUNT WITH SUCH NAME. WEIRD RETURN. WOW. WHY NOT <a href='loginSignup.php'>SIGNUP</a>?"; 
    } 
} else { 
    echo "Errormessage: %s\n". mysqli_connect_error(); 
} 
+0

緊湊。它的工作原理。謝謝。它應該是'!='對嗎? – FoxInFlame

+0

不,我建議切換你的'回聲'。 '真'應該是第一個的方式 – Alex

+0

比'!='更好嗎?如果是這樣,爲什它基本上是一樣的,如果我的知識是正確的...... – FoxInFlame