[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запуск процедуры oracle из php
MainVoid
Напрямую к базе через php подключался, а вот задача вызвать процедуру - впервые.

Пишу такой код:

PHP
if ($c OCILogon("login""pwd""db")) {
    
$s = OCIParse($c,"begin pkg_customer.LoginCustomer(:in1, :in2, :in3, :in4, :out1, :out2, :out3); end;");
    
OCIBindByName($s, ":in1", $p_EmailCust); 
    
OCIBindByName($s, ":in2", $p_Password); 
    
OCIBindByName($s, ":in3", $p_IP); 
    
OCIBindByName($s, ":in4", $p_Cod); 
    
OCIBindByName($s, ":out1", $p_SessionId, 32); // 32 is the return length 
    
OCIBindByName($s, ":out2", $p_CountDayExpired, 32); // 32 is the return length     
    
OCIBindByName($s, ":out3", $p_err, 255); // 255 is the return length
    
OCIExecute($sOCI_DEFAULT);
}
OCILogoff($c);


Выводит:
Цитата
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/html/dev/forms/form2.php on line 4


В интернете кроме вызова одной функции ничего не нашел.
Был бы очень благодарен за любую помощь.



Спустя 6 часов, 19 минут, 55 секунд (2.11.2009 - 09:07) glock18 написал(а):
MainVoid
php не нравится банально синтаксис...

вызов процедуры, думаю, делается так же, как и в самом oracle. по крайней мере, в mysql так же.

попробуй поменять кавычки у той строки, на которой ругается.

Спустя 2 часа, 5 минут, 55 секунд (2.11.2009 - 11:13) MainVoid написал(а):
Да и убирал ее, и в разные места ставил, результат тотже.. Единственное упоминание про вызов оракл функции из PHP нашел тут:
хранимые процедуры в оракл
Делал вроде все по аналогии, ничего не срабатывает.
Я в замешательстве

Спустя 52 минуты, 42 секунды (2.11.2009 - 12:05) MainVoid написал(а):
Помогло добавление ссылки в переменные

PHP
OCIBindByName($s":in1", &$p_EmailCust);


вот таким образом.

Источник: дока

Спустя 7 минут, 15 секунд (2.11.2009 - 12:12) sergeiss написал(а):
Вот этот код
Цитата (MainVoid @ 2.11.2009 - 03:47)
if ($c = OCILogon("login", "pwd", "db"))

надо заменить, наверное, на
PHP
if ($c == OCILogon("login", "pwd", "db"))


Возможно, текущую проблему это и не решит, но решит (возможно?) проблему логики работы скрипта в целом. Если, конечно, это не написано так специально.

Спустя 8 минут, 26 секунд (2.11.2009 - 12:21) glock18 написал(а):
sergeiss
не, там все ок.

Спустя 1 день, 11 часов, 23 минуты, 16 секунд (3.11.2009 - 23:44) MainVoid написал(а):
Спасибо, sergeiss, там так и задумывалось.
glock18, тоже спасибо.

Спустя 10 часов, 41 минута, 14 секунд (4.11.2009 - 10:25) Oyeme написал(а):
Заноси в процедуру по 1 параметру,"входного" и "выходного".
Проверь типы полей, и того чего подаёшь.
Если удастся отослать и получить,и синтаксис смотри внимательней. Что ему не нравиться там.


_____________
Каная
Быстрый ответ:

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