В меня на WEB-сурвере под RedHAT 9 из сайта реализован доступ к БД MySQL посредством PHP-сценариев. Все работало ОК. Перешел на CentOS-5.6-x86_64 и начались проблемы при обращении к БД. Т.е. обращении к БД, но на екран ничего не выводится и ошибок не выдает. Подскажите пожалуйста в чем тут дело. Может связано с переходом на другие версии PHP и MySQL? Буду очень благодарен за совет.
> В меня на WEB-сурвере под RedHAT 9 из сайта реализован доступ к
> БД MySQL посредством PHP-сценариев. Все работало ОК. Перешел на CentOS-5.6-x86_64
> и начались проблемы при обращении к БД. Т.е. обращении к БД,
> но на екран ничего не выводится и ошибок не выдает. Подскажите
> пожалуйста в чем тут дело. Может связано с переходом на другие
> версии PHP и MySQL? Буду очень благодарен за совет.А просто mysql -uuser -ppass db_name проходит?
Вы бы кусок кода php для собединения с базой привели, что ли. Чтобы было понятно - что там конкретно написано. Отладку в php-скрипте включите. Из консоли его, в конце концов, запустите и посмотрите результат. Возможно (учитывая замшелость RedHat 9) - используете устаревшие функции.
> Вы бы кусок кода php для собединения с базой привели, что ли.
> Чтобы было понятно - что там конкретно написано. Отладку в php-скрипте
> включите. Из консоли его, в конце концов, запустите и посмотрите результат.
> Возможно (учитывая замшелость RedHat 9) - используете устаревшие функции.Вот кусок скрипта запроса к БД
<?
$hostname="localhost";
$username="webuser";
$password="";
$dbName="cnti";
mysql_connect($hostname, $username, $password) or die ("не можу створити з'єднання !");
mysql_select_db($dbName) or die ("не можу вибрати базу даних!");
$query=mysql_query("select * FROM region_info");
$number=mysql_num_rows($query);
$i=0;
?>А как включить отладку в php-скрипте?
Спасибо.
>[оверквотинг удален]
> $dbName="cnti";
> mysql_connect($hostname, $username, $password) or die ("не можу створити з'єднання
> !");
> mysql_select_db($dbName) or die ("не можу вибрати базу даних!");
> $query=mysql_query("select * FROM region_info");
> $number=mysql_num_rows($query);
> $i=0;
> ?>
> А как включить отладку в php-скрипте?
> Спасибо.Про отладку тут: http://www.phpfaq.ru/debug
Пардон, а где тут хоть одно echo? Что по-вашему должна выводить эта писанина?
> Про отладку тут: http://www.phpfaq.ru/debug
> Пардон, а где тут хоть одно echo? Что по-вашему должна выводить эта
> писанина?Он, по видимому, привел просто кусок кода для коннекта к базе. Который просили.
2Автор. По виду - все нормально. Если коннект только к одной базе - то должно работать. Ничего криминального не вижу. Даже если в ЦентОси стоит пыхпых 5.3 - все должно работать. Заодно проверьте (на всяк случай) php.ini. Как для Вэб, так и для CLI.
>> Про отладку тут: http://www.phpfaq.ru/debug
>> Пардон, а где тут хоть одно echo? Что по-вашему должна выводить эта
>> писанина?
> Он, по видимому, привел просто кусок кода для коннекта к базе.
> Который просили.
> 2Автор. По виду - все нормально. Если коннект только к одной базе
> - то должно работать. Ничего криминального не вижу. Даже если в
> ЦентОси стоит пыхпых 5.3 - все должно работать. Заодно проверьте (на
> всяк случай) php.ini. Как для Вэб, так и для CLI.У меня похожие проблемы в соседней теме, Центось не выполняет запрос к удаленной базе ms-sql, пишет что соединение произошло выбора базы так же, но в переменных увы пусто.
Так что присоединяюсь к проблеме.
>[оверквотинг удален]
>> Он, по видимому, привел просто кусок кода для коннекта к базе.
>> Который просили.
>> 2Автор. По виду - все нормально. Если коннект только к одной базе
>> - то должно работать. Ничего криминального не вижу. Даже если в
>> ЦентОси стоит пыхпых 5.3 - все должно работать. Заодно проверьте (на
>> всяк случай) php.ini. Как для Вэб, так и для CLI.
> У меня похожие проблемы в соседней теме, Центось не выполняет запрос к
> удаленной базе ms-sql, пишет что соединение произошло выбора базы так же,
> но в переменных увы пусто.
> Так что присоединяюсь к проблеме.Что выдаст такой скрипт?
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);$db='dbname';
$user='dbuser';
$pass='dbpassword';
$server='x.x.x.x';$conn = mssql_connect($server, $user, $pass) or die('Connection error');
$dbselect= mssql_select_db($db, $conn) or die('DB select error.');$sql = 'select * from tblname';
$result = mssql_query($sql);
while ($row = mssql_fetch_row($result)) {
var_dump($row);
}mssql_close($conn);
?>
>[оверквотинг удален]
> $server='x.x.x.x';
> $conn = mssql_connect($server, $user, $pass) or die('Connection error');
> $dbselect= mssql_select_db($db, $conn) or die('DB select error.');
> $sql = 'select * from tblname';
> $result = mssql_query($sql);
> while ($row = mssql_fetch_row($result)) {
> var_dump($row);
> }
> mssql_close($conn);
> ?>Этот скрипт позвращает пустой экран.
Соединение устанавливается, база данных выбирается, запрос отрабатывает, но в переменные не записываются. Думаю это проблема фритдс, в соседней ветке пишут что надо указать в конфе какуюто версию протокола но пока немогу понять о чем именно речь
http://www.opennet.me/openforum/vsluhforumID8/7278.html#10