Php 如何处理select from dual中的分号;

Php 如何处理select from dual中的分号;,php,sql,oracle,Php,Sql,Oracle,我的任务是编写一个简单的php+oracle web报告工具,我碰巧遇到了一个非常复杂的查询,它在SQL Developer中非常有效: SELECT 'LASTNAME, FIRSTNAME, STATUS' from dual; with user as ( ... .. .. .. (very long query) 然后它给了我这个: PHP Warning: oci_execute(): ORA-00911: invalid character 根据我的初步调查,PHP似乎

我的任务是编写一个简单的php+oracle web报告工具,我碰巧遇到了一个非常复杂的查询,它在SQL Developer中非常有效:

SELECT 'LASTNAME, FIRSTNAME, STATUS' from dual;

with user as

(
...
..
..
..

(very long query)
然后它给了我这个:

PHP Warning:  oci_execute(): ORA-00911: invalid character
根据我的初步调查,PHP似乎在抱怨“;”在第一行之后(上面写着从…双选择;)

在PHP方面,它如下所示:

$stid = oci_parse($conn, $query);
oci_execute($stid);
其中$query是非常长的查询:

$query = "SELECT 'LASTNAME, FIRSTNAME, STATUS' from dual;

with user as

(
...
..
..
..

我想知道是否有一种方法可以重写整个查询而不使用“dual”部分?

dual table是一个具有单行、单列的虚拟表,只有数据是X


您可以创建自己的双表,它只是一个虚拟表。可能需要将结果重复两次,然后创建一个包含两行的dual2表。内容无关紧要。

请了解如何转义
@DanAndrews-我更新了我的问题,应该是$query=“选择..
dual您的表名是???或者您尝试运行两个查询?它不是-它是一个库存/虚拟Oracle表显然,第一行显示
select。。。来自双重