[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: запрос к БД - Sybase
Joe
Привет всем.

Объясните, пожалуйста, почему у меня не получается сделать запрос к БД Sybase.

Запрос приведен ниже:

HTML
$link = sybase_connect("10.11.1.21", "sa", "uas4Aipe");
$s_db = sybase_select_db("account.dbo.account", $link);
$query = sybase_query("select * from account.dbo.account where id = 19");
$succ_req = sybase_fetch_array ($query);
echo $succ_req['login'];


Как результат я не ничего не вижу на экране.

Когда я делаю этот запрос через Интерфейс к БД то все отрабатывает.

Версия PHP 5.2.6
Apache 2.0.63

Заранее спасибо.




Спустя 2 часа, 47 минут, 59 секунд (1.09.2009 - 20:51) sergeiss написал(а):
Тебе надо сделать следующие проверки:

1. Убедиться, что подключение к БД было успешно.
2. Убедиться, что запрос был успешным.
3. Подсчитать количество строк в ответе.
4. Если оно больше нуля, то тогда вывести список всех ключей (полей таблицы), которые ты получил.

И не переходи к каждому шагу, пока не убедишься, что корректно отработали все предыдущие.

Спустя 5 часов, 37 минут, 22 секунды (2.09.2009 - 02:29) waldicom написал(а):
В начале скрипта поставить error_reporting(E_ALL);
Если не поможет, то после подклбчения, выбора базы и прочих поставить
PHP
or die("Error!");


Спустя 8 часов, 12 секунд (2.09.2009 - 10:29) Joe написал(а):
Я сделал следующие:

HTML
ini_set('error_reporting', E_ALL);
$link = sybase_connect('10.11.1.21', 'sa', 'uas4Aipe') or die("Error!");
echo "Successful connected";


Как результат я не вижу на экране ни ошибки, ни то что соединение было успешно установлено sad.gif

Спустя 1 час, 7 минут (2.09.2009 - 11:36) waldicom написал(а):
А просто echo 'че-нить'; работает?

Спустя 23 минуты, 29 секунд (2.09.2009 - 11:59) Joe написал(а):
Да конечно.

HTML
<?
echo "Test";
?>


На єкрене вижу: Test

Спустя 5 минут, 26 секунд (2.09.2009 - 12:05) sergeiss написал(а):
В таком случае

PHP
echo 'Before ini_set<br>';
ini_set('error_reporting', E_ALL);
echo 'Befor connect<br>';
$link = sybase_connect('10.11.1.21', 'sa', 'uas4Aipe') or die("Error!");
echo 'After connect<br>';
if(
 $link )
  echo 'Successful connected';
else
  echo 'Not connected';

Спустя 13 минут, 35 секунд (2.09.2009 - 12:18) Joe написал(а):
результат вижу следующий:

Before ini_set
Befor connect

Спустя 9 минут, 59 секунд (2.09.2009 - 12:28) sergeiss написал(а):
Может, не '10.11.1.21', а 'http://10.11.1.21'??? Иначе это не имя сервера, а ХЗ что.

Или 'localhost', если БД находится на том же сервере, где и скрипт.

Спустя 13 минут, 10 секунд (2.09.2009 - 12:42) Joe написал(а):
Сервер находится на другом хосте.
Имя сервера - должно быть указанно как IP или єто должно быть указанно как хост намйм: sybase.db.ua ?

Спустя 4 минуты, 49 секунд (2.09.2009 - 12:46) sergeiss написал(а):
Цитата (Joe @ 2.09.2009 - 13:42)
Имя сервера - должно быть указанно как IP или єто должно быть указанно как хост намйм: sybase.db.ua ?

Да ты попробуй, попробуй! И так, и эдак. Вдруг оно и заработает ну хоть как-нибудь smile.gif

Спустя 13 минут, 7 секунд (2.09.2009 - 12:59) Joe написал(а):
Да пробовал.

Писал Ай-Пи, писал хост найм.

resource sybase_connect ( [string servername [, string username [, string password [, string charset [, string appname]]]]] )

Тут написано --servername--.
Я так понимаю это имя машины.
Я беру его из /etc/hostname и прописываю.

Все рано не хочет.


Спустя 8 минут, 15 секунд (2.09.2009 - 13:08) sergeiss написал(а):
Откуда-откуда берешь servername??? blink.gif

Покажи целиком запрос, как он у тебя сейчас выглядит!!!

Спустя 9 минут, 58 секунд (2.09.2009 - 13:18) Joe написал(а):
вот так:

HTML
echo 'Before ini_set<br>';
ini_set('error_reporting', E_ALL);
echo 'Befor connect<br>';
$link = sybase_connect("dbserver", "sa", "uas4Aipe") or die("Error!");
echo 'After connect<br>';
if( $link )
echo 'Successful connected';
else
echo 'Not connected';


где: bserver - доменное имя сервера БД Sybase. Я прописал у себя в файлу host
bserver 10.11.1.21

Спустя 20 минут, 7 секунд (2.09.2009 - 13:38) Joe написал(а):
Пробую даже так:

HTML
echo 'Before ini_set<br>';
ini_set('error_reporting', E_ALL);
echo 'Befor connect<br>';
$link = sybase_connect('', '', '') or die("Error!");
echo 'After connect<br>';
if( $link )
echo 'Successful connected';
else
echo 'Not connected';


Результат тот же:

Before ini_set
Befor connect

Спустя 2 часа, 39 минут, 41 секунда (2.09.2009 - 16:17) Joe написал(а):
уже незнаю что и делать.

в php.ini
строчка расскомментирована: extension=php_sybase_ct.dll
эта библиотека скопирована скопирована в корень, где уст. php

У кого-то есть какие-то варианта как можно подключиться с БД Sybase ?????
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.