2016-09-29 159 views
-1

未能数据库我在MySQL做了一个数据库,但是当我试图通过PHP文件登录我得到2个警告:登录通过PHP

警告:请求mysql_query()预计参数1是字符串,对象在C中给出:\ XAMPP \ htdocs中\ login.php中第7行

警告:mysqli_num_rows()预计参数1被mysqli_result,在C空给出:\ XAMPP \ htdocs中\ login.php中第8行
faileddddd

Connection.php

<?php 

$mysql_usernmae="root"; 
$mysql_password="123"; 
$db="map"; 

$db= new mysqli('localhost',$mysql_usernmae,$mysql_password,$db); 
echo "Connection successfull"; 
?> 

的login.php

<?php 
require "connection.php"; 
$user_name="123"; 
$user_pass="123"; 
$mysql_qry="select * from user_info where user_name like 
' $user_name' and user_password like '$user_pass';"; 
$result=mysql_query($db,$mysql_qry); 
if (mysqli_num_rows($result)>0) 
{ 
echo "login Successsss"; 
} 
else 
{ 
echo "faileddddd"; 
} 
?> 
+2

** WARNING **:编写自己的访问控制层是不容易的,也有很多机会得到它严重错误。请不要在[Laravel](http://laravel.com/)等任何现代开发框架(http://codegeekz.com/best-php-frameworks-for-developers/)上编写自己的认证系统,内置了强大的[认证系统](https://laravel.com/docs/5.2/authentication)。绝对不要遵循[推荐的安全最佳实践](http://www.phptherightway.com/#security)和**从不将密码存储为纯文本**。 – tadman

+2

**警告**:您正在混合['mysql_query'](http://php.net/manual/en/function.mysql-query.php)和'mysqli',这是您绝对不应该这样做的。使用* only *'mysqli'函数。为了避免混淆,使用面向对象的界面使错误变得非常明显,而不是单个字母的不同。 – tadman

回答

0

YESSS!好吧错误只是在login.php文件写入,

$result=mysqli_query($db,$mysql_qry); 

,而不是

$result=mysql_query($db,$mysql_qry);