Соединять PHP с SQL SERVER

Я искал из-за всех сторон, но не нахожу ответ или нахожу неполные ответы.

Каков полный способ соединять PHP с SQL Server 2008?

6
задан 20.07.2016, 13:47
5 ответов

Сначала ты должен загружать Драйвер или dll sql Server и конфигурировать ее, как он появляется в нижней ссылке, это просто и только он возьмет тебе 10 минут делать это: Драйвер PHP SQLServer

Позже пробуй с:

 resource sqlsrv_connect ( string $serverName [, array $connectionInfo ] )

Открывает связь в базу данных Microsoft SQL Server. По умолчанию, связь пробуется используя Windows удостоверение. Чтобы присоединять используя удостоверение SQL Server, включать "UID" и "PWD" в array выборов связи. Параметры

serverName

El nombre del servidor en el que se ha establecido una conexión. Para conectar a una instancia específica, poner una barra invertida después del nombre de servidor e indicar el nombre de la instancia (e.g. NombreServidor\sqlexpress).

connectionInfo

Un array asociativo que especifica las opciones de conexión al servidor. Si no se ha especificado ningún valor para el UID y PWD, la conexión se intentará utilizando la autenticación Windows. Para una lista completa de claves soportadas, ver » Opciones de Conexión SQLSRV.

Возвращенная стоимость

Ресурс связи. Если не возможно открывать связь, возвращается стоимость FALSE. Примеры

Пример #1 Присоединять используя Windows удостоверение.

<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName

// Puesto que no se han especificado UID ni PWD en el array  $connectionInfo,
// La conexión se intentará utilizando la autenticación Windows.
$connectionInfo = array( "Database"=>"dbName");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Conexión establecida.<br />";
}else{
     echo "Conexión no se pudo establecer.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Пример #2 Присоединять определяя имя пользователя и пароль.

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

if( $conn ) {
     echo "Conexión establecida.<br />";
}else{
     echo "Conexión no se pudo establecer.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Пример #3 Присоединять к специфическому порту.

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

if( $conn ) {
     echo "Conexión establecida.<br />";
}else{
     echo "Conexión no se pudo establecer.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Замечания

По умолчанию, функция sqlsrv_connect () использует связь посредством группирования, чтобы улучшать функционирование связи. Чтобы разъединять функционирование в способе группа (p.ej. вынуждать новую связь в каждом вызове), конфигурировать выбор "ConnectionPooling" в array $connectionOptions в 0 (или FALSE). Для большей информации, видеть» Очередь связи SQLSRV.

У расширения SQLSRV нет специфической функции, чтобы меняться, в который база данных присоединена. Основание данных цели определяет в array выборов $connectionOptions, который проходит в sqlsrv_connect. Чтобы менять базу данных на уже открытую связь, выполнять следующее решение sql "ИСПОЛЬЗУЙТЕ dbName" (p.ej. sqlsrv_query ($conn, "Я ИСПОЛЬЗОВАЛ dbName")).

8
ответ дан 24.11.2019, 14:31

В моем опыте, я использовал PDO (PHP Датирует Object), чтобы реализовывать связи в базы данных MySQL и SQL SERVER.

PDO_DBLIB - драйвер, который должен осуществлять SQL Server в PHP.

Преимущество PDO в этом случае, состоит в том, что он принимает 12 администраторов базы данных. Невыгода сравнивая это с Microsoft Драйвер PHP for SQL Server, состоит в том, что этот более чистый, или я это понимаю.

В распространенном, свойствах связи с базой данных, они обычно в php в так называемом файле db_config.php, это будет мой файл, чтобы представлять тебе пример связи.

db_config.php

<?php

define("DRIVER_SQL", "dblist:host");
define("DATABASE", "ejemplo");
define("PORT",     "10060");
define("HOSTNAME", "localhost");
define("USERNAME", "admin");
define("PASSWORD", "1234");


define("URI", DRIVER_SQL . HOSTNAME . ":" . PORT . ":dbname=" . DATABASE);

?>

И этот файл, где у тебя будут готовые консультации, и(или) ты реализуешь связь.

db.php

<?php

// ...

function connect() {
    try {
        $pdo = new PDO(URI, USERNAME, PASSWORD);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        return $pdo;
    } catch (PDOException $e) {
        echo("PDOException: ".$e);
            return false;
    }
}

// ...

?>

Здесь ты найдешь много примеров связи: Ссылка

5
ответ дан 24.11.2019, 14:31

В случае, если твой этот сервер приложений в linux, я рекомендую тебе использовать FreeTDS , которые это родной книжный магазин, что беседовать с sql server, и что гораздо быстрее, чем другие книжные магазины.

1
ответ дан 24.11.2019, 14:31

Хороший идея состоит в том, чтобы устанавливать правильно драйвер для php.

В Ubuntu - с freetds apt-get install freetds-bin freetds-common freetds-dev - See обитал at: http://blog.espol.edu.ec/nemo/2014/07/30/conexion-odbc-entre-ubuntu-14-04-trusty-tahr-con-sql-server-utilizando-freetds/#sthash.qDICxJCE.dpuf

В Centos - mssql-php5 Хорошие такие

быстрого ты был бы должен основываться в искании dirver sql linux (distribuciГіn) mssql

ahГ - главным образом все связи равны

$conexion=mssql_connect($serverName,$uid,$pwd);

mssql_select_db($base_datos,$conexion);
1
ответ дан 24.11.2019, 14:31

В меня я funcionГі с этим cГіdigo:

$servidor = "NOMBREPC\SQLEXPRESS";
$database = "PRUEBA";
$info = array('Database'=>$database);
$cn = sqlsrv_connect($servidor, $info);
-2
ответ дан 24.11.2019, 14:31

Теги

Похожие вопросы