我有使用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代码中收到错误?
答案 0 :(得分:1)
您有一个字符串转义错误。打开此link并搜索字符串“Escaped characters”(不带引号)。然而,逃避序列 \ s 不存在。
将此行从$serverName = "serverName\sqlexpress";
更改为:$serverName = "serverName\\sqlexpress";
。仔细观察我只是加倍反斜杠( \\ )。