Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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查询Ms SQL server返回无效名称_Php_Sql_Sql Server 2016 - Fatal编程技术网

从PHP查询Ms SQL server返回无效名称

从PHP查询Ms SQL server返回无效名称,php,sql,sql-server-2016,Php,Sql,Sql Server 2016,我已成功连接到MS SQL server,但尝试将SQL查询从SQL server复制到PHP代码会返回无效对象。 我可能做错了什么 我试过使用表“Students”而不使用美元符号,也试过在“MARINUS HIGH”中引入下划线,但仍然是相同的错误。我也试过下面的代码 $sql = "SELECT * FROM Students WHERE No_='A100/0011G/17' AND Password='123'"; 返回 数组([0]=>Array([0]=>42S02[SQLSTA

我已成功连接到MS SQL server,但尝试将SQL查询从SQL server复制到PHP代码会返回无效对象。 我可能做错了什么

我试过使用表“Students”而不使用美元符号,也试过在“MARINUS HIGH”中引入下划线,但仍然是相同的错误。我也试过下面的代码

$sql = "SELECT * FROM Students WHERE No_='A100/0011G/17' AND Password='123'";
返回

数组([0]=>Array([0]=>42S02[SQLSTATE]=>42S02[1]=>208[code]=>208[2]=>[Microsoft][ODBC驱动程序11用于SQL Server][SQL Server]无效的对象名“学生”。[message]=>[Microsoft][ODBC驱动程序11用于SQL Server][SQL Server]无效的对象名“学生”。)

希望使用PHP从MS SQL server获取。任何帮助都将不胜感激。
谢谢。

这是您的实际表名吗
[MARINAS HIGH$Students]
在我的服务器管理工作室上,它读取dbo.MARINAS HIGH$Students$sql变量返回Management StudioTry在
[MARINAS HIGH$Students]
中转义
$
的预期结果:
[MARINAS HIGH\$Students]
尝试以下方式:
从[dbo]中选择*。[#玛丽纳斯高中$Students]
$serverName = "127.0.0.1";
$connectionInfo = array( "Database"=>"MyDB", "UID"=>"sa", "PWD"=>"******" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT   No_, [Name], [Password]
FROM     [MARINAS HIGH$Students]
WHERE  (No_='A100/0011G/17') AND ([Password]='123')";

$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

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

$name = sqlsrv_get_field( $stmt, 0);
echo $name; //maybe the name is "George"