Вставка, удаление, обновление с использованием скрипта pl/sql с помощью PHP

Я запускаю скрипт pl/sql с помощью PHP-приложения, но я замечаю, когда в скрипте есть либо вставка, либо обновление, либо удаление, скрипт останавливается. Хотя нет проблем, если я использую этот скрипт непосредственно в sqldeveloper.

Есть ли что-то особенное для использования вставки, удаления, обновления? благодаря

 procedure update_nbr_execution
 (dem_id in number)
 IS
 BEGIN
UPDATE BCN_DEMANDE_EXTRACTION
    SET nombre_execution = nvl(nombre_execution,0) + 1
    WHERE id = dem_id;
 END;

В моем php-файле:

            $query = "BEGIN 
                        ecrire_requete(:demande_id, :p_nom); 
                    END;";

            $stid = oci_parse($conn, $query);
            $tabvars = oci_new_collection($conn,'MYTABLETYPE');
            oci_bind_by_name($stid, ':p_nom', $tabvars, -1, SQLT_NTY);
            oci_bind_by_name($stid, ':demande_id', $_POST['demande_id']);
            oci_execute($stid, OCI_DEFAULT);

И update_nbr_execution является вызовом ecrire_requete .

Существует триггер, связанный с update_nbr_execution , дата поля автоматически обновляется с помощью fiel nbr_execution. Может ли это произойти с триггера?

Изменить: после выделения некоторой части я получаю эту ошибку: ORA-04088: ошибка во время запуска триггера . Таким образом, это происходит от триггера, который выглядит так:

create or replace
TRIGGER BCN_FORMAT_NOM_FICHIER_BI
BEFORE INSERT OR UPDATE ON BCN_DEMANDE_EXTRACTION
REFERENCING NEW AS NEW
FOR EACH ROW

DECLARE
BEGIN
if inserting then
  :new.FORMAT_NOM_FICHIER_DONNEES:='bcn_____.dat';
  :new.FORMAT_NOM_FICHIER_CONTROLE:='bcn____.ctr';
  :new.FORMAT_NOM_FICHIER_JETON:='bcn____.jet';
  :new.FORMAT_NOM_FICHIER_ZIP:='bcn____';
  :new.CREATED_AT:=TO_CHAR(SYSDATE,'DD/MM/YY');
  :new.UPDATED_AT:=TO_CHAR(SYSDATE,'DD/MM/YY');
else
   :new.UPDATED_AT:=TO_CHAR(SYSDATE,'DD/MM/YY');
end if;
END;
1
nl ja de
Вероятно, он запрашивает ввод пользователя, такой как логин/пароль, который автоматически предоставляет сервер sql. Запрос не появится в PHP. Что происходит, когда вы запускаете скрипт pl/sql напрямую?
добавлено автор Kato, источник
что означает U STOP?
добавлено автор Bhavin Rana, источник
вы можете показать код?
добавлено автор Bhavin Rana, источник
как вы называете этот SP?
добавлено автор Bhavin Rana, источник
попробуйте отладить запрос и получите, какую ошибку его покажет.
добавлено автор Jobin Jose, источник
Вы подключаетесь через sqldeveloper при том же использовании, что и пользователь, используемый на PHP connect?
добавлено автор Sergey, источник
Извлеките свой запрос. Скопируйте это в PHPmyadmin или что-то simulair. Оттуда вы можете посмотреть, какая часть не работает. Если вы ищете какой-либо заказ или какой-либо вид, я стараюсь избегать всех трех вещей в одном заявлении. A) он не выглядит чистым и B) Код имеет тенденцию становиться беспорядочным и может не работать
добавлено автор Dorvalla, источник
Я уже пытался эхо и копировать запрос в sqldeveloper, и скрипт отлично работает
добавлено автор jacen44, источник
В sqldeveloper скрипт просто выполняет то, что ему нужно. Ничего меньше, больше ничего.
добавлено автор jacen44, источник
Да, я использую один и тот же логин/пароль в обоих случаях
добавлено автор jacen44, источник

1 ответы

Вероятно, это проблема формата даты.

Если CREATED_AT и UPDATED_AT являются обе датами, то = TO_CHAR (SYSDATE, 'DD/MM/YY') преобразует SYSDATE в строку, а затем неявно преобразует строку обратно в дату. Неявное преобразование даты зависит от NLS_DATE_FORMAT, который устанавливается каждым клиентом.

Вероятно, у вас есть SQL Developer, чтобы использовать что-то вроде DD/MM/YY, но PHP использует что-то еще. Если вы просто хотите удалить время из SYSDATE, вместо этого следует использовать TRUNC (SYSDATE) .

0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)

Oracle RU
Oracle RU
303 участник(ов)

Русскоязычная группа по Oracle. — Архитектура СУБД — PL/SQL — Оптимизация — Администрирование — Вакансии Oracle (указать инфу по вилке ЗП и удалёнке) Приглашайте коллег :-) Запрещены: личные оскорбления, обсуждения оффтопик вопросов политики и религии

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp