Я боролся с этим в течение смешного количества времени, и я не уверен, что делать. Я использую PHP 5.4 на учетной записи общего хостинга GoDaddy Linux с включенным модулем mssql. База данных, к которой я пытаюсь добраться, находится в другом месте. Я пытаюсь подключиться через mssql_connect
, я пробовал
$con = mssql_connect('<ip address>', 'user', 'pass');
так же как
$con = mssql_connect('<ip address>\<instance name>', 'user', 'pass');
И выше два с номерами портов. Но я все еще получаю ошибку «Невозможно подключиться к серверу». Я убедился, что SQL Server принимает внешние подключения, и агент SQL работает. Я не могу использовать PDO
с sqlserv
из-за GoDaddy, mssql — единственный модуль, который я могу использовать.
У кого-нибудь есть идеи относительно того, что может быть не так?
Попробуйте использовать SQLSRV функции:
<?php
$serverName = "ipAddress\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"user", "PWD"=>"pass" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "INSERT INTO Table_1 (id, data) VALUES (?, ?)";
$params = array(1, "some data");
$stmt = sqlsrv_query( $conn, $sql, $params);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
?>
Замечания: вам не нужно сообщать имя экземпляра в некоторых случаях. Попробуйте сначала с IP-адресом.
Других решений пока нет …