Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过Azure MySQL检查用户的登录_Php_Mysql_Azure_Mysqli_Azure Sql Database - Fatal编程技术网

Php 通过Azure MySQL检查用户的登录

Php 通过Azure MySQL检查用户的登录,php,mysql,azure,mysqli,azure-sql-database,Php,Mysql,Azure,Mysqli,Azure Sql Database,我希望通过azure mysql验证用户的登录。我可以成功连接到数据库。我只是在azure mysql相关的语法方面遇到了问题。我在网上找到的是针对常规sql的,但这似乎不一样 目前我有: $result = mysqli_query($conn,'SELECT name, email FROM logins where name='$loginname' and password='$loginpassword''); if(!$result || mysql_num_rows

我希望通过azure mysql验证用户的登录。我可以成功连接到数据库。我只是在azure mysql相关的语法方面遇到了问题。我在网上找到的是针对常规sql的,但这似乎不一样

目前我有:

    $result = mysqli_query($conn,'SELECT name, email FROM logins where name='$loginname' and password='$loginpassword'');
    if(!$result || mysql_num_rows($result) <= 0)
    {
        echo("invalid user");
    }
    else
    {
        echo("successful login");
        session_start();
        $_SESSION["user"] = loginname;
        //header("Location: ../question-explanation.html");
    }

我得到的错误是:Parse error:syntax error,意外的“$loginname”T_变量,应为“,”,或者在

中,您没有连接数据,需要使用。要向字符串添加数据,请执行以下操作:

$result = mysqli_query($conn,'SELECT name, email FROM logins where name=' . $loginname . ' and password=' . $loginpassword);
但您不应该将变量连接到查询,因为这将使您面临SQL注入攻击


检查

首先,这些变量是否被转义?@MehdiBounya我第一次得到它们时使用了trim。一旦输入成功,我将添加mysqli\u real\u escape\u字符串为什么不使用一个准备好的语句?这将解决许多问题;其中一个是对sql注入开放的。@FunkFortyNiner在你刚刚提到它们之前,我没有听说过这些。我只是查了一下,现在就要用了