function DBExecSql($connection, $sql, $params = array(), $mode = OCI_COMMIT_ON_SUCCESS) { // Ejecuta el query pasado como parámetro.. global $dbError; $stmt = oci_parse($connection, $sql); foreach ($params as $key => $val) { $parametro = htmlspecialcharsDecodeUpper($params[$key]); oci_bind_by_name($stmt, $key, $parametro, strlen($parametro)); unset($parametro); } $error = !oci_execute($stmt, $mode); if ($error) { $dbError = oci_error($stmt); if (isset($dbError["offset"])) { DBRollback($connection); // Hago un rollback por si el query con el error venía sin transacción.. saveSqlError($connection, $dbError["message"], $sql, $params); $mensajeError = "Error inesperado. [" . date("d/m/Y H:i:s") . "]"; throw new Exception($mensajeError); } } return $stmt; }
function DBExecSql($connection, $sql, $params = array(), $mode = OCI_COMMIT_ON_SUCCESS) { // Ejecuta el query pasado como parámetro.. global $dbError; $stmt = OCIParse($connection, $sql); foreach ($params as $key => $val) { oci_bind_by_name($stmt, $key, htmlspecialcharsDecodeUpper($params[$key])); } $error = !oci_execute($stmt, $mode); if ($error) { $dbError = oci_error($stmt); if (isset($dbError["offset"])) { DBRollback($connection); // Hago un rollback por si el query con el error venía sin transacción.. saveSqlError($connection, $dbError["message"], $sql, $params); EscribirLogTxt1('Error DBExecSql sql', $sql); EscribirLogTxt1('Error DBExecSql params', implode(",", $params)); EscribirLogTxt1('Error DBExecSql e ', $error . " ---- " . $dbError["message"]); throw new Exception("Error inesperado. [" . date("d/m/Y H:i:s") . "]" . $error); } } return $stmt; }