使用PHP和oracle数据库执行作为列存储在另一个表中的查询

使用PHP和oracle数据库执行作为列存储在另一个表中的查询,php,sql,oracle,Php,Sql,Oracle,我在oracle数据库表的一列中存储了大量sql查询。我必须一次检索一个查询,执行它并在前端显示该查询的结果。这是查询列中的第一个查询 select a.division_id, a.completion_id, a.num_of_stages, b.num_of_stages as numb, abs(a.num_of_stages - b.num_of_stages) as diff from odm_dba.odm_comp_summary a, (select divisi

我在oracle数据库表的一列中存储了大量sql查询。我必须一次检索一个查询,执行它并在前端显示该查询的结果。这是查询列中的第一个查询

select a.division_id, a.completion_id, a.num_of_stages, b.num_of_stages as numb,     abs(a.num_of_stages - b.num_of_stages) as diff from odm_dba.odm_comp_summary a, (select    division_id, completion_id, count(*) num_of_stages from odm_dba.odm_comp_stage group by     division_id, completion_id) b where a.division_id = b.division_id and a.completion_id =     b.completion_id and a.num_of_stages <> b.num_of_stages;
我在蟾蜍身上执行了这个代码。它工作得很好。不,我正在使用下面的代码检索查询列,然后执行它

<?php 
session_start();
ob_start();
require_once 'dbconnect.php';

$qry = "SELECT query FROM vdc_dba.queries";
$result = oci_parse($conn, $qry);
oci_execute($result);

$row = oci_fetch_array($result);
echo $row['QUERY'];
$new_result=oci_parse($conn,$row['QUERY']);
oci_execute($new_result);
$row1 = oci_fetch_array($new_result);
echo $row1['DIVISION_ID'];
?>

这是上述查询的输出

实际查询,然后 警告:oci_execute:ORA-00911:第13行C:\xampp\htdocs\query.php中的字符无效

警告:oci_fetch_数组:ORA-24374:在第14行的C:\xampp\htdocs\query.php中定义在获取之前未完成或执行并获取


我不知道如何将查询结果再次用作查询。我是新来的PHP,任何帮助将不胜感激。谢谢

至少要去掉最后一行的.s,并用分号结束语句;。否则,您将出现语法错误。我忘了在代码中添加分号。我想知道检索此列后要执行的步骤。如何再次使用检索到的查询列作为查询?只需将$row['QUERY']中的值传递回数据库。类似这样:$new_result=oci_parse$conn,$row['QUERY'];另外,我仍然不确定为什么在代码的最后一行中有句点,但它们肯定会导致解析器错误。如果您仍然有问题,请发布您的实际代码,包括分号和所有内容。