2014-01-14 3 views
-2

У меня есть опыт работы с базами данных mysql и вы успешно подключили к ним несколько десятков проектов.Не удается подключиться к SQL Server 2008 с PHP

Теперь у меня возникли проблемы с подключением к 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. Единственные изменения, которые я внес, заменили имя_сервера \ sqlexpress на ##. #. #. ##. И изменение: dbName, имя пользователя, пароль.

Вот результаты, когда я запускаю код подключения выше:

Parse error: syntax error, unexpected '$serverName' (T_VARIABLE) in C:\inetpub\quote.myWebsite.com\index.php on line 23

Даже если я бегу что-то просто так:

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

Я получаю тот же тип ошибки анализа:

Parse error: syntax error, unexpected '$myVariable' (T_VARIABLE) in C:\inetpub\quote.myWebsite.com\index.php on line 23

Почему я получаю ошибки в своем PHP-коде?

+0

Это НИЧЕГО не относится к серверу sql, это чисто синтаксическая ошибка PHP. –

+1

В этом коде нет строк '23', как вы его используете? Кроме того, эта ссылка, похоже, содержит номер порта '$ serverName =" serverName \ sqlexpress, 1542 "; // serverName', которого у вас нет. –

+0

Что находится в строке 23 вашего файла index.php? – Robbert

ответ

1

У вас есть ошибка экранирования строки. Откройте это link и найдите строку «Escaped characters» (без кавычек). Последовательность эвакуации \ s не существует.

Изменить эту строку следующим образом: $serverName = "serverName\sqlexpress"; на это: $serverName = "serverName\\sqlexpress";. Присмотревшись, я просто удвоил обратную косую черту (\\).

Смежные вопросы