Бортовой журнал Ктулху

Подключение к ODBC в PHP

Подключиться к MSSQL через ODBC можно с настройкой DSN или с использованием параметров подключения а также через PDO. Будут примеры всех (или почти всех) возможных вариантов подключения.

 

odbc_connect()

Как настроить DSN в Windows - можно прочитать здесь.

После этого для подключения нужно использовать алиас DSN[data source name] вот так: odbc_connect('DSN_NAME','user_name','passw').

 

Для подключения с передачей параметров через строку нужно сделать так: odbc_connect("DRIVER={SQL Server};SERVER=192.168.1.23;DATABASE=DB1",'user','passw');

 

Готовый работающий пример:

$con = odbc_connect('DSN_NAME','login','pass');
 $res = odbc_exec($con, $sql);
$row = odbc_fetch_row($res);
odbc_close($con);

PDO

 
// 1)
$dbh = new PDO("sqlsrv:Server=192.168.1.23;Database=DB1;", 'user', 'passw',$options);
// 2)
$dbh = new PDO("odbc:Driver=FreeTDS;Server=192.168.1.23;Database=DB1;","user","passw");
// 3)
 $dbh = new PDO("odbc:Driver=FreeTDS;Server=192.168.1.23;Database=DB1;","user","passw");
 
$sql = "select * from table";
$res = [];
 try {
 $stmt = $dbh->query($sql);
 if ($stmt) {
 $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
 }
 var_dump($res);
 } catch (Exception $e){
 throw new PDOException(var_export($dbh->errorInfo(),true));
 }