Pellegrino
12.08.2010 - 16:39
Добрый день! С PHP работаю недавно. Столкнулся с проблемой следующего характера, как вытащить средствами PHP результат запроса к хранимой процедуре в BD2? Раньше использовал обычный odbc, щас не хочет постоянно указывает на ошибку запроса. Хотя запрос проходи к вест централе. Обращение к процедуре с двумя параметрами. Как бы мне отрисовать всю табличку? Вот код:
PHP |
$base="111"; $name="222"; $password="333";
$conn=odbc_connect($base,$name,$password) or die(odbc_errormsg());
$sql=odbc_exec($conn, "call LSOM02.GET_OTPR_PAYER ('2010-07-30-00.00.00', '2010-07-31-00.00.00', 100027162, 0,?,?)") or die(odbc_errormsg());
$row=odbc_fetch_array($sql);
do { echo $row['ID']; echo $row['KODPL']; echo $row['DTO']; echo $row['STO']; echo $row['STN']; echo $row['STNP']; echo $row['NOMD']; echo $row['KATOTP']; echo $row['NOMVAG']; echo $row['VESGR']; echo $row['KODGRNSI']; echo $row['KODGRGNG']; echo $row['SUMMA']; echo $row['KODGO']; echo $row['OKPOGO']; echo $row['KODGP']; echo $row['OKPOGP']; echo $row['ISKL']; echo $row['RMONTH']; echo $row['STRN']; echo $row['PRIN_VK']; echo $row['GRUZOPOD']; echo $row['DORO']; echo $row['DORNP']; echo $row['DORN']; }
while ($row=odbc_fetch_array($sql));
odbc_close($conn); |
ошибки - Warning: Wrong parameter count for odbc_connect() in D:\home\localhost\www\
php\DB2.
php on line 19
Fatal error: Call to a member function getConnect() on a non-object in D:\home\localhost\www\
php\DB2.
php on line 21
еще, как бы проверить в начале коннект к БД самой? нашел в нете код, но оно только под MYSQL, а вот к DB2 как?
Спустя 4 дня, 18 часов, 6 минут, 25 секунд (17.08.2010 - 09:45) Beowulf написал(а):
А вы в base указываете dsn? В формате
"Driver={IBM DB2 ODBC DRIVER};Server=$server;Database=$database;"
Спустя 1 час, 24 минуты, 23 секунды (17.08.2010 - 11:09) Pellegrino написал(а):
Не понял? "Driver={IBM DB2 ODBC DRIVER} - это где прописать? Можно подробней или пример
Спустя 2 часа, 18 минут, 20 секунд (17.08.2010 - 13:28) Beowulf написал(а):
Почитайте пожалуйста мануал по функции
odbc_connect. Вам необходимо будет писать это вместо $dsn(Data Source name). По своей сути odbc предоставляет только абстракцию соединения - вам енобходимо указать драйвер для работы с базой данных. Именно это вы должны сделать в odbc_connect в строке $dsn.
Спустя 13 дней, 1 час, 17 минут, 11 секунд (30.08.2010 - 14:45) Pellegrino написал(а):