Php 登录系统的Sqlserver连接错误

Php 登录系统的Sqlserver连接错误,php,mysql,sql-server,Php,Mysql,Sql Server,我正在尝试为我的服务器创建登录系统。我使用xampp为我的本地网站使用了类似的代码,但现在我正在尝试使用外部服务器。我得到的错误是这个 数组([0]=>Array([0]=>42000[SQLSTATE]=>42000[1]=>102[code]=>102[2]=>[Microsoft][ODBC驱动程序11 for SQL Server][SQL Server]靠近“”的语法不正确。[消息]=>[Microsoft][ODBC驱动程序11 for SQL Server][SQL Server]

我正在尝试为我的服务器创建登录系统。我使用xampp为我的本地网站使用了类似的代码,但现在我正在尝试使用外部服务器。我得到的错误是这个

数组([0]=>Array([0]=>42000[SQLSTATE]=>42000[1]=>102[code]=>102[2]=>[Microsoft][ODBC驱动程序11 for SQL Server][SQL Server]靠近“
”的语法不正确。[消息]=>[Microsoft][ODBC驱动程序11 for SQL Server][SQL Server]靠近“
”的语法不正确])

我的代码如下:

<?php

session_start();

$inputuser = $_REQUEST['Username'];
$inputpass = $_REQUEST['Password'];

$Server = "MyServer";
$user = "user";
$password = "pass";
$database = "mydb";
$table = "users";

$connectionInfo = array( "Database"=>$database,"UID"=>$user, "PWD"=>$password);

$link = sqlsrv_connect($Server, $connectionInfo);

if ($link === false) {
    echo "Connection failed. \n";
    die(print_r(sqlsrv_errors(), true));
}


$query = "SELECT `Username` FROM `onlinereporting` . `users` WHERE `Username` = '$inputuser'"; 
$querypass = "SELECT `Password` FROM `onlinereporting` . `users` WHERE `Password` ='$inputpass'";

$result = sqlsrv_query($link,$query);
$resultpass = sqlsrv_query($link,$querypass);

if ($result === false) {
    die(print_r(sqlsrv_errors(), true));
}

$row = sqlsrv_fetch_array($result);
$rowpass = sqlsrv_fetch_array($resultpass);

$serveruser = $row["Username"];
$serverpass = $rowpass["Password"];


if ($serveruser And $serverpass) {

    header('Location: index.html');

}

else {  

    header('Location: FailedPage.html');

}
?>

我认为原因是您使用反勾号引用表名和列名,而在SQL server中,名称是使用
引用的。请尝试将反勾号更改为双引号,即:

$query = "SELECT \"Username\" FROM \"onlinereporting\" . \"users\" WHERE \"Username\" = '$inputuser'"; 

现在,错误发生了变化,看起来是这样的:数组([0]=>Array([0]=>42000[SQLSTATE]=>42000[1]=>102[code]=>102[2]=>[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]靠近“users”的语法不正确。[消息]=>[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]靠近“users”的语法不正确。)