Подключение к ODBC в PHP
2019-04-04
Подключиться к 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));
}