Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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 SQLSRV_NUM_行错误_Php_Sqlsrv - Fatal编程技术网

Php SQLSRV_NUM_行错误

Php SQLSRV_NUM_行错误,php,sqlsrv,Php,Sqlsrv,我有一个PHP应用程序,我尝试为它创建一个登录脚本。尝试登录时,我收到以下错误消息: Warning: sqlsrv_num_rows() expects parameter 1 to be resource, boolean given 它还显示“无效凭据”,即使用户名和密码正确。我的代码如下: if(isset($_POST['submit'])){ $user = $_POST['u']; $pass = $_POST['p']; //database conn

我有一个PHP应用程序,我尝试为它创建一个登录脚本。尝试登录时,我收到以下错误消息:

Warning: sqlsrv_num_rows() expects parameter 1 to be resource, boolean given
它还显示“无效凭据”,即使用户名和密码正确。我的代码如下:

if(isset($_POST['submit'])){
    $user = $_POST['u'];
    $pass = $_POST['p'];

    //database connection
    $serverName = "localhost\SQLEXPRESS";
    $connectionInfo = array( "Database"=>"AuServer", "ReturnDatesAsStrings"=>"true");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);

    //query
    $sql = "SELECT *  FROM `users` WHERE `username` = '$user' AND `password` = '$pass'";
    $params = array();
    $options = array("scrollable" => SQLSRV_CURSOR_KEYSET);
    $stmt = sqlsrv_query( $conn, $sql , $params, $options );

    $row_count = sqlsrv_num_rows( $stmt );

    echo $row_count;

    if ($row_count > 0){
        session_start();
        $_SESSION['auth'] = "Yes";
        header('Location: counterpage.php');
    }

    else
        echo "Invalid Credentials";

}

任何帮助都将不胜感激

不要使用
'username'='$user'

这样写:
username='$user'


如果没有
,“
用户名处

听起来您的查询失败并返回
FALSE
,因此错误为
boolean-given
检查
或死亡(sqlsrv_-errors())
sqlsrv\u query
语句之后。这就是修复!我真傻,竟然没有注意到!非常感谢你。