PHP mysql_num_rows()缺少一些参数

时间:2015-05-23 15:37:07

标签: php html forms

我是PHP世界的新手。无论如何,我正在尝试制作一个记录表格,用于验证从数据库输入的数据(该数据将从单一表格输入正常工作),但它给了我以下错误。

警告:mysqli_fetch_array()要求参数1为mysqli_result,第23行\ wamp \ www \ hightech \ login_form.php中给出布尔值

我的代码是:

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尽快帮助我。

1 个答案:

答案 0 :(得分: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!'; 
}

你不能混合使用MySQLi和MySQL,因为这是其他架构(OOP与非OOP)的两种不同的数据库驱动程序。