2013-05-16 100 views
-1

我想通過數據庫做一個登錄表單和驗證,但我似乎無法讓它工作,如果任何人都可以看到或指出我做錯了什麼,我真的很感激它。 ..mysqli登錄表格PHP

我得到了mysql_query和mysql_num_rows的警告,但不知道爲什麼?

$mysqli = mysqli_connect("localhost", "username", "******", "my_database") or die ('Could not connect to database!'); 

    if(isset($_POST['user']) && isset($_POST['password'])){ 
     $password = mysqli_real_escape_string($mysqli, md5($_POST['password'])); 
     $username = mysqli_real_escape_string($mysqli, $_POST['user']); 

     $sqllogin = "SELECT * FROM users WHERE username = '$username' AND password = '$password' LIMIT 1" ; 
     $result = mysql_query($sqllogin); 
     $count = mysql_num_rows($result);  

     if ($count == 1) { 
     session_start(); 
     $_SESSION['loggedin'] = true; 
     header('Location: admin.php'); 

    } else { 
     echo '<p class="emptylogin">'.'Incorrect username or password'.'</p>'; 
    } 

} 
+3

'mysql'!=='mysqli'。使用一個**或**另一個。 – deceze

+0

你使用mysql_query和mysql_num_rows與mysqli。 –

+0

$ mysqli = mysqli_connect(「localhost」,「username」,「******」,「my_database」)或死('無法連接到數據庫!'); 並使用$ result = mysql_query($ sqllogin); 你應該使用:mysqli_query –

回答

1

您使用的mysqli,然後繼續使用的mysqli;) 不mysql_ * *

0

試試這個:

你在用戶名和password.it單引號將在雙因爲兩者都被視爲字符串。

$sqllogin = "SELECT * FROM users WHERE username = '".$username."' AND password = '".$password."' LIMIT 1" ; 

和恰克的mysql_query & mysql_num_rows到mysqli_query & mysqli_num_rows

+0

我糾正了mysqli,並嘗試過,但它說我需要兩個參數,我是新的PHP和mysqli所以不知道這兩個應該是什麼... – spovell

+0

@spovell閱讀罰款手冊:http ://php.net/mysqli_query – deceze

+0

好的謝謝,但我得到它的工作,謝謝 – spovell