PHP и SQL - это совершенно разные языки, и вы получаете предупреждение PHP, которое выдается интерпретатором PHP:
define('FOO', 3.1416);
echo FOO; // 3.1416
echo BAR; // Warning: Use of undefined constant BAR - assumed 'BAR' (this will throw an Error in a future version of PHP)
Ваш код пытается обработать имя последовательности как динамический ввод.Вы не можете использовать подготовленные заявления для этого, потому что вся цель подготовленных заявлений состоит в том, чтобы предотвратить это.Если вам действительно нужно, вам нужно сгенерировать базовый SQL-скелет с простыми строковыми функциями:
$table = 'PROBLEMA';
$sequence = 'SECUENCIA_ID_PROBLEMA';
$sql = "INSERT INTO $table (ID_PROBLEMA, HORA_INICIO, PROBLEMA, CAUSA,
SOLUCION, HORA_FIN, ID_ASIGNACION) VALUES ($sequence.nextval, ?, ?, ?, ?, ?, ?)";
INSERT INTO PROBLEMA (ID_PROBLEMA, HORA_INICIO, PROBLEMA, CAUSA,
SOLUCION, HORA_FIN, ID_ASIGNACION) VALUES (SECUENCIA_ID_PROBLEMA.nextval, ?, ?, ?, ?, ?, ?)
Однако ваш код также пытается передать динамически связанную переменную фиксированным жестко закодированным текстом.,Интересно, является ли эта дополнительная сложность намеренной и необходимой.Наличие разных таблиц с одинаковыми точными именами столбцов - потенциальный запах кода:)