首页 文章

使用PHP执行Oracle过程 - 可能吗?

提问于
浏览
1

我正在尝试使用以下语句从PHP运行一个非常简单的Oracle过程:

$sql = 'exec procedureName(param1, param2)';
$sql = oci_parse($connection, $sql); oci_execute($sql);

在Oracle SQL开发人员中运行此命令会返回成功的'anonymous block completed'消息,但通过PHP运行此消息会返回'ORA-00900: invalid SQL statement'错误 .

无论如何从PHP运行此过程?非常感谢

2 回答

  • 5

    再深入一点,我认为您需要将过程调用放在PL / SQL BEGIN-END对中,如下所示:

    $sql = 'BEGIN procedureName(:param1, :param2); END;';
    $stmt_id = oci_parse($connection, $sql);
    oci_bind_by_name($stmt_id, ':param1', $value1);
    oci_bind_by_name($stmt_id, ':param2', $value2);
    oci_execute($stmt_id);
    

    您需要编辑上面的内容,以便在 oci_bind_by_name 的调用中使用适当的变量名称 .

    另请注意,SQL字符串中存在分号是很重要的 .

    分享和享受 .

  • 0
    $sql = 'BEGIN procedureName(:param1, :param2); END;';
    $stmt_id = oci_parse($connection, $sql);
    oci_execute($stmt_id);
    

相关问题