坚持连接PHP和MySQL

坚持连接PHP和MySQL,php,mysql,Php,Mysql,我第一次在PHP和MySQL环境上工作。。 我的连接还有一个问题。 我无法在两者之间创建连接。 我正在尝试为登录页面创建一个代码。 我的数据库名和所有这些都是正确的。 这是我的密码 <?php $con = NULL; if (empty($_POST['username']) || empty($_POST['password'])) { $error="Username or Password is invalid"; } e

我第一次在PHP和MySQL环境上工作。。 我的连接还有一个问题。 我无法在两者之间创建连接。 我正在尝试为登录页面创建一个代码。 我的数据库名和所有这些都是正确的。 这是我的密码

    <?php

    $con = NULL;
    if (empty($_POST['username']) || empty($_POST['password'])) {
        $error="Username or Password is invalid";
    } 
    else {
    global $con;
    $con=mysqli_connect("localhost","root","","student");


    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    else {

        $sql = "select * from login where password='" . $_POST['password'] . "' AND username='" . $_POST['username'] . "'";

        echo $sql;

        $query=mysqli_query($sql,$con);


        $rows=mysqli_num_rows($query);


        echo $rows;

        if ($rows==1) {
            $_SESSION['login_user'] = $_POST['username'];
            //Initializing Session
            header("location: /pages/profile.php"); //Redirecting to other page
        } else {
            $error = "Username or Password is invalid";
        }
    }
    //SQL query to fetch information of registered users and finds user match.
//Closing Connection
mysql_close($con);
}

?>

第一个警告会准确地告诉您出了什么问题:

警告:mysqli_query()要求参数1为mysqli,字符串在第21行的C:\xampp\htdocs\pages\login.php中给出

在这里定义变量:

$con=mysqli_connect("localhost","root","","student");
// ...
$sql = "select * from login where password='" . $_POST['password'] . "' AND username='" . $_POST['username'] . "'";
因此,
$con
是一个
mysqli
对象,
$sql
是一个字符串。然后调用函数:

$query=mysqli_query($sql,$con);
您正在传递字符串,然后是连接。错误表示第一个对象应该是连接。像这样:

$query=mysqli_query($con,$sql);
而且,这很重要。。。我意识到你只是刚刚开始学习概念。但是在编写任何实时系统中使用的代码或负责任何用户数据的代码之前,请确保您理解这一点。您的代码非常容易受到SQL注入攻击。基本上,任何用户都可以完全访问您的数据库,可能还有您的服务器。请先开始


尽管您可能不知道,但这段代码目前的作用是以代码的形式执行用户输入。显然,您不希望任何用户能够在您的服务器上执行任意代码,但目前这正是您所允许的。再说一次,你是新来的,所以这是一个可以理解的错误。我不是想责备你,只是想让你明白这件事的重要性。尤其是当您的网站开始包含用户数据时。

第一条警告会准确地告诉您出了什么问题:

警告:mysqli_query()要求参数1为mysqli,字符串在第21行的C:\xampp\htdocs\pages\login.php中给出

在这里定义变量:

$con=mysqli_connect("localhost","root","","student");
// ...
$sql = "select * from login where password='" . $_POST['password'] . "' AND username='" . $_POST['username'] . "'";
因此,
$con
是一个
mysqli
对象,
$sql
是一个字符串。然后调用函数:

$query=mysqli_query($sql,$con);
您正在传递字符串,然后是连接。错误表示第一个对象应该是连接。像这样:

$query=mysqli_query($con,$sql);
而且,这很重要。。。我意识到你只是刚刚开始学习概念。但是在编写任何实时系统中使用的代码或负责任何用户数据的代码之前,请确保您理解这一点。您的代码非常容易受到SQL注入攻击。基本上,任何用户都可以完全访问您的数据库,可能还有您的服务器。请先开始


尽管您可能不知道,但这段代码目前的作用是以代码的形式执行用户输入。显然,您不希望任何用户能够在您的服务器上执行任意代码,但目前这正是您所允许的。再说一次,你是新来的,所以这是一个可以理解的错误。我不是想责备你,只是想让你明白这件事的重要性。尤其是当您的网站开始包含用户数据时。

第一条警告会准确地告诉您出了什么问题:

警告:mysqli_query()要求参数1为mysqli,字符串在第21行的C:\xampp\htdocs\pages\login.php中给出

在这里定义变量:

$con=mysqli_connect("localhost","root","","student");
// ...
$sql = "select * from login where password='" . $_POST['password'] . "' AND username='" . $_POST['username'] . "'";
因此,
$con
是一个
mysqli
对象,
$sql
是一个字符串。然后调用函数:

$query=mysqli_query($sql,$con);
您正在传递字符串,然后是连接。错误表示第一个对象应该是连接。像这样:

$query=mysqli_query($con,$sql);
而且,这很重要。。。我意识到你只是刚刚开始学习概念。但是在编写任何实时系统中使用的代码或负责任何用户数据的代码之前,请确保您理解这一点。您的代码非常容易受到SQL注入攻击。基本上,任何用户都可以完全访问您的数据库,可能还有您的服务器。请先开始


尽管您可能不知道,但这段代码目前的作用是以代码的形式执行用户输入。显然,您不希望任何用户能够在您的服务器上执行任意代码,但目前这正是您所允许的。再说一次,你是新来的,所以这是一个可以理解的错误。我不是想责备你,只是想让你明白这件事的重要性。尤其是当您的网站开始包含用户数据时。

第一条警告会准确地告诉您出了什么问题:

警告:mysqli_query()要求参数1为mysqli,字符串在第21行的C:\xampp\htdocs\pages\login.php中给出

在这里定义变量:

$con=mysqli_connect("localhost","root","","student");
// ...
$sql = "select * from login where password='" . $_POST['password'] . "' AND username='" . $_POST['username'] . "'";
因此,
$con
是一个
mysqli
对象,
$sql
是一个字符串。然后调用函数:

$query=mysqli_query($sql,$con);
您正在传递字符串,然后是连接。错误表示第一个对象应该是连接。像这样:

$query=mysqli_query($con,$sql);
而且,这很重要。。。我意识到你只是刚刚开始学习概念。但是在编写任何实时系统中使用的代码或负责任何用户数据的代码之前,请确保您理解这一点。您的代码非常容易受到SQL注入攻击。基本上,任何用户都可以完全访问您的数据库,可能还有您的服务器。请先开始


尽管您可能不知道,但这段代码目前的作用是以代码的形式执行用户输入。显然,您不希望任何用户能够在您的服务器上执行任意代码,但目前这正是您所允许的。再说一次,你是新来的,所以这是一个可以理解的错误。我不是想责备你,只是想让你明白这件事的重要性。尤其是当您的网站开始包含用户数据时。

我需要5秒钟才能找到ha