-2

我有使用 mysql 数据库的经验,并且已经通过几十个项目成功地连接到它们。

现在,我在连接到 SQL Server 2008 时遇到问题。这很有效:<?php phpinfo(); ?>并且 sqlsrv 和 pdo_sqlsrv 部分出现在此页面上。这是我用来连接的代码:

<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

此代码直接来自 php.net:http://www.php.net/manual/en/function.sqlsrv-connect.php 我所做的唯一更改是将 serverName\sqlexpress 替换为 ##.#.#.##。并更改:dbName、用户名、密码。

这是我运行上面的连接代码时的结果:

解析错误:语法错误,第 23 行 C:\inetpub\quote.myWebsite.com\index.php 中的意外 '$serverName' (T_VARIABLE)

即使我运行这样简单的东西:

<?php $myVariable = "someString"; ?>

我得到相同类型的解析错误:

解析错误:语法错误,第 23 行 C:\inetpub\quote.myWebsite.com\index.php 中的意外 '$myVariable' (T_VARIABLE)

为什么我在我的 PHP 代码中收到错误消息?

4

1 回答 1

1

你有一个字符串转义错误。打开此链接并搜索字符串“转义字符”(不带引号)。但是转义序列\s不存在。

将此行从 this: 更改$serverName = "serverName\sqlexpress";为 this: $serverName = "serverName\\sqlexpress";。仔细观察,我只是将反斜杠(\\)加倍。

于 2014-01-14T15:28:45.790 回答