Недавно я преобразовал свой сайт из OCI в PDO.PDO PDOStatement :: execute(): SQLSTATE [HY000]: Общая ошибка: 1008 OCIStmtExecute: ORA-01008: не все связанные переменные
У меня есть эта PHP:
foreach ($bindings as $key => $value) {
if (strpos($query, $key)) {
$stmt->bindParam(":$key", $value);
echo "Bound ". $key ." => ". $value;
}
}
Выход:
Bound :globalSearch0 => %NCR%
Bound :globalSearch1 => %NCR%
Bound :globalSearch2 => %NCR%
Bound :globalSearch3 => %NCR%
Bound :globalSearch4 => %NCR%
но PHP по-прежнему выдает сообщение об ошибке:
Warning: PDOStatement::execute(): SQLSTATE[HY000]: General error: 1008 OCIStmtExecute: ORA-01008: not all variables bound
но все переменные являются связаны! Я эхо генерирую запрос SQL, и он использует 5 переменных, ту же сумму, что и связанные!
Я ничего не теряю здесь? Это тот же код, который я использовал oci_bind_by_name
, и у меня не было никаких проблем, но bindParam
, похоже, вызывает это.