В PHP есть устаревшие функции работы с MSSQL - mssql_connect и mssql_query. В один прекрасный момент они перестают работать. Выражается это так, что при выполнении директивы mssql_query скрипт выдает «Ошибка сегментирования» и программа останавливается. Причем в логах ничего дополнительно не пишется.
Для того, что бы и продолжать работать с MS SQL необходимо переписать скрипт на использование PDO.
Пример, того как было:
$link = mssql_connect('IP-АДРЕС', 'ЛОГИН', 'ПАРОЛЬ');
if (!$link || !mssql_select_db('БАЗА-ДАННЫХ', $link)) {
die('Unable to connect or select database!');
}
$q = "СТРОКА ЗАПРОСА";
$resp = mssql_query($q);
while($row = mssql_fetch_assoc($resp)) {
echo var_dump($row).PHP_EOL;
}
Пример того, как стало:
$db = new PDO('dblib:host=IP-АДРЕС;dbname=БАЗА-ДАННЫХ;charset=utf8', 'ЛОГИН', 'ПАРОЛЬ');
$q = "СТРОКА ЗАПРОСА";
$result = $db->query($q);
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo var_dump($row).PHP_EOL;
}
Комментариев нет:
Отправить комментарий