PHP: exec() возвращает статус «0» (успешно) при выполнении неудачных сценариев PostgreSQL.Php

Кемеровские программисты php общаются здесь
Anonymous
PHP: exec() возвращает статус «0» (успешно) при выполнении неудачных сценариев PostgreSQL.

Сообщение Anonymous »

Я пытаюсь обработать SQL-ошибки при запуске PostgreSQL-скриптов через PHP.
Мой вызов exec() всегда возвращает статус «0», даже если я вызываю сбой SQL-скрипта:< /p>
PHP:

Код: Выделить всё

[...]
$command = "$psqlPath -h $myHost -d $myDb -U $myUser -f $sqlScript 2>&1";
$output = [];
$return_var = 0;
exec($command, $output, $return_var);

Код: Выделить всё

sqlScript
предназначен для нарушения ограничений. Результаты:

Код: Выделить всё

$return_var -> 0
$output[0] -> "psql:/pathToMyScript/sqlScript.sql:1: ERROR: duplicate key value violates unique constraint"
Что я делаю не так? Почему return_var по-прежнему равен 0?
Если это беспокоит: я использую относительно старую версию PostgreSQL: 10.17.

Подробнее здесь: https://stackoverflow.com/questions/790 ... tgresql-sc

Вернуться в «Php»