这个问题在这里已有答案:
什么是我的代码中的问题请帮助我?
{
<
?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);
}
}
?>
}
只需交换$ 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
因此,它期望第一个参数为字符串而不是变量。