Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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
sqlsrv_有_行()错误PHP与MSSQL_Php_Html_Sql Server 2012 Express - Fatal编程技术网

sqlsrv_有_行()错误PHP与MSSQL

sqlsrv_有_行()错误PHP与MSSQL,php,html,sql-server-2012-express,Php,Html,Sql Server 2012 Express,我的php页面有一个小问题,我就是不明白。我是新来的,我不太明白我的疑问。当我尝试执行我的程序时,错误如下所示 警告:sqlsrv_has_rows()要求参数1为资源,布尔值 给定 这是我的代码: <?php session_start(); try{ include 'connection.php'; $username = $_POST['user']; $password = $_POST['pass']; //check if

我的php页面有一个小问题,我就是不明白。我是新来的,我不太明白我的疑问。当我尝试执行我的程序时,错误如下所示

警告:sqlsrv_has_rows()要求参数1为资源,布尔值 给定

这是我的代码:

<?php
    session_start();

    try{
    include 'connection.php';

    $username = $_POST['user'];
    $password = $_POST['pass'];

    //check if login form is filled
    if(empty($_POST['user']) || empty($_POST['pass'])){
    echo '<script type="text/javascript">alert("Connection established.");   </script>';
     }
    //search for user and password in the database
    $query = "SELECT * FROM [Emkaandb].[dbo].[tbl_clientslogin] WHERE email='{$username}' AND .password='{$password}' AND active='1'";
    $result = sqlsrv_query($conn, $query);
    if($result == true){
    die(print_r(sqlsrv_errors(),true));
     }
      if(sqlsrv_has_rows($result) !=1){
    echo '<script type="text/javascript">alert("Invalid email or password.");  </script>';
    }else{
     while($row = sqlsrv_fetch_array($result)){
        $_SESSION['name'] = $row['name'];

    }
    header("location: Profile.php");
    }

     }catch  (PDOException $e)
  {
    echo "Error!: " . $e->getMessage() . "
";
    die();
  }

?>

$result return resource set id?

$result return resource set id?

以防您不知道。sqlsrv函数与PDO函数无关。因此,在这段代码中捕获PDO异常几乎没有什么用处。事实上,您必须显式地请求错误消息:。一旦你这样做了,你会发现你的SQL开始是无效的。顺便说一句,你的代码似乎允许使用魔法密码
”或1=1--
进行通用登录,以防你不知道。sqlsrv函数与PDO函数无关。因此,在这段代码中捕获PDO异常几乎没有什么用处。事实上,您必须显式地请求错误消息:。一旦你这样做了,你就会发现你的SQL开始是无效的。顺便说一句,你的代码似乎允许使用魔法密码
”或1=1进行通用登录--
我可以看看($result==true){die(print_r(sqlsrv_errors(),true));}这就是die()?因为$result总是true…我可以看到($result==true){die(print_r(sqlsrv_errors(),true))}这就是die()?因为$result总是正确的。。。