2015-05-23 86 views
-2

我是新的PHP世界。無論如何,我試圖使日誌形式驗證從數據庫輸入的數據(該數據將從單向表單輸入工作正常),但它給了我以下錯誤。PHP mysql_num_rows()缺少一些參數

警告:mysqli_fetch_array()預計參數1被mysqli_result,布爾在\瓦帕\ WWW \高科技\ login_form.php給定上線23

和我的代碼是:

HTML形式: index.php文件

<form id="login" action="login_form.php" method="post"> 
    <table style="color:white;border-color:white"> 
      <tr> 
       <td align="center" width="300" colspan="2"> 
        <h3>Log In</h3> 
       </td> 
      </tr> 
      <tr> 
       <td align="right" width="200" id="username"> 
         User&nbspName 
       </td> 
       <td> 
        <input type="text" name="user_name" placeholder=" Type user name" style="width:170;color:blue;text-align:center;border-top-left-radius:25;border-bottom-right-radius:25;"/> 
       </td> 

      </tr> 
      <tr> 
       <td align="right" id="passd"> 
        Password 
       </td> 
       <td> 
        <input type="password" name="pass" placeholder="Type password" style="width:170;color:blue;text-align:center;border-top-left-radius:25;border-bottom-right-radius:25;"/> 
       </td> 
      </tr> 
      <tr> 
       <td width="300" colspan="2" align="right"> 
        <input type="submit" value="Log In" onclick="chack_info()" style="color:blue;border-top-left-radius:25;border-bottom-right-radius:25"/> 
       </td> 
      </tr> 
     </table> 
    </form> 

loging_form.php

$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "hightech"; 
// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

    $user_name= filter_input(INPUT_POST, 'user_name'); 
    $password= filter_input(INPUT_POST, 'pass'); 
    $result=mysql_query("SELECT * FROM accounts WHERE user_name='$user_name' and password='$password'"); 

    $count=mysql_num_rows($result); 
    if($count==0){ 
     echo'data found'; 
    } else { 
     echo 'Wrong Username or Password!'; 
    } 

Plz儘快幫助我。

+2

你用什麼mysql或mysqli?發表完整代碼 –

+1

在你的問題中你提到了mysqli_fetch_array,但是在你的代碼中你使用的是mysql_ *。你不能混合兩者。現在我看到你的編輯了,我不得不說,你爲什麼使用mysql_ *?你應該使用mysqli – Zarathuztra

+0

@Zarathuztra是的,我只是糾正它。 –

回答

1

使用此:

$result=mysqli_query($conn, "SELECT * FROM accounts WHERE user_name='$user_name' and password='$password'"); 

$count=$result->num_rows; 
if($count==0){ 
    echo'data found'; 
} else { 
    echo 'Wrong Username or Password!'; 
} 

,因爲這是兩個不同的數據庫驅動程序,其中其他架構(OOP與非OOP)不能混合的MySQLi和MySQL。

+0

謝謝@理查德 –

+0

@HacanChamp:沒問題,你可以投我的答案,並將其標記爲解決方案,如果你想這樣做。 – Richard

+0

其實我有更少的聲望點 –