2017-07-31 21 views
-2

即時嘗試做一個登錄表單在PHP中,但我不能得到它的工作。Php不檢查行

<?php 

include("connect.php"); 

$username = mysqli_real_escape_string($_GET['username']); 
$password = mysqli_real_escape_string($_GET['password']); 

$squery = mysqli_query("SELECT * FROM users WHERE username='$username'"); 
$query = mysqli_fetch_array($squery); 
$rowcount = mysqli_stmt_num_rows($squery); 

if($rowcount == 1) 
{ 
    if($password != $query['password']) 
     echo'Password is wrong'; 
    else 
     echo 'Login succesful'; 
} 
else 
    echo 'Account is not registered'; 
?> 

這就是我想要做的,但我不知道我做錯了什麼。我也檢查了我的連接細節,這是正確的。

警告:mysqli_real_escape_string()期望的是2個參數,1 /var/www/html/login.php給出在第5行

警告:mysqli_real_escape_string()期望的是2個參數,1中給定/無功/網絡/ HTML/login.php中第6行

警告:mysqli_query()預計至少2個參數,1 /var/www/html/login.php給出在第8行

警告:mysqli_fetch_array ()期望參數1爲mysqli_result,null在第9行的/var/www/html/login.php中給出的爲null

警告:mysqli_stmt_num_rows()預計參數1被mysqli_stmt,在/var/www/html/login.php空給出在第10行

我已經更換了包括與此:

$host = "127.0.0.1"; 
$user = "root"; 
$pass = "str0ng98x006"; 
$database = "userdb"; 
$conn = new mysqli($host, $user, $pass, $database); 
在需要的mysqli功能
+0

請您添加它拋出的錯誤? –

+0

「* ..我不知道我做錯了什麼*」任何錯誤來了?你面臨什麼問題? –

+0

你的一些mysqli函數缺少連接參數。查閱每個功能的手冊。通過在每個地方添加一個'i',你不能從mysql升級到mysqli。此外,'mysqli_stmt_num_rows()'不會與正常的'query()'混合使用 – Qirel

回答

0

變化

1)利用數據庫連接變量。

更新的代碼

假設$conn數據庫連接變量,你會得到包括:( 「connect.php」);文件。

<?php 

include("connect.php"); 

$username = mysqli_real_escape_string($conn, $_GET['username']); 
$password = mysqli_real_escape_string($conn, $_GET['password']); 

$squery = mysqli_query($conn, "SELECT * FROM users WHERE username='$username'"); 
$query = mysqli_fetch_array($squery); 
$rowcount = mysqli_stmt_num_rows($squery); 

if($rowcount == 1){ 
    if($password != $query['password']) 
    echo'Password is wrong'; 
    else 
    echo 'Login succesful'; 
} else { 
    echo 'Account is not registered'; 
} 
?> 
+0

我試過了,但它說:mysqli_stmt_num_rows()期望參數1是mysqli_stmt – alex

+0

等一分鐘@alex。我會更新最新的代碼。 –

+0

檢查更新的代碼@alex。 –

0

你要通過連接變量查詢功能 -

$squery = mysqli_query($conn, "SELECT * FROM users WHERE username='$username'"); 

和其他錯誤,它應該像這 -

$rowcount = mysqli_num_rows($query);