警告:mysql_query()期望参数1为字符串,资源在第27行的F:\ XAMPP \ htdocs \ practical_test \ login.php中给出[复制]

问题描述 投票:-3回答:1

什么是我的代码中的问题请帮助我?

{

<    
?php
session_start();

$error = ""; // store error message

if(isset($_POST['submit']))
{

if(empty($_POST['username']) || empty($_POST['password']))

{

$error = "Username and password is invalid";

echo "$error";

}

else

{

$username = $_POST['username'];

$password = $_POST['password'];

$conn = mysql_connect('localhost','','','practice');

if($conn==true)

{

$query = mysql_query($conn,"select * from employee where username=$username AND password=$password");

$rows = mysql_num_rows($query); 

if($rows == 1)

{

$_SESSION['login_user'] = $username;

header("location:profile.php");

}

else

{

$error = "Username and Password is Invalid";

}

}

else

{

echo "error";

}

mysql_close($conn);

}

}

?>  

}
php
1个回答
0
投票

只需交换$ conn变量和您在此行中编写的查询

$query = mysql_query($conn,"select * from employee where username=$username AND password=$password");

将SQL查询作为第一个参数,将$ conn变量作为第二个参数:

$query = mysql_query("select * from employee where username=$username AND password=$password",$conn);

描述

mixed mysql_query(string query,resource link_identifier = = NULL); mysql_query向与指定link_identifier关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)。

参数

查询SQL查询

查询字符串不应以分号结尾。应正确转义查询中的数据。

link_identifier MySQL连接。如果未指定链接标识符,则假定mysql_connect打开的最后一个链接。如果没有找到这样的链接,它将尝试创建一个,就好像没有参数调用mysql_connect一样。如果未找到或建立连接,则会生成E_WARNING级别错误。

资料来源:MySQL docs

因此,它期望第一个参数为字符串而不是变量。

© www.soinside.com 2019 - 2024. All rights reserved.