【问题标题】:PHP & Oracle: SQL doesn't return query in PHP Oracle call, but have result in SqlDeveloperPHP & Oracle:SQL 在 PHP Oracle 调用中不返回查询,但在 SqlDeveloper 中有结果
【发布时间】:2014-06-26 20:39:40
【问题描述】:

我有一个 PHP 调用 Oracle 数据库。 问题是当我使用 SQLDeveloper 使用给定的 SQL 查询数据库时,我可以获得正确的结果。 现在我有一个从 XML 读取 SQL 的现有 PHP 应用程序。 其他 SQL 成功返回行,但是当我使用给定的 SQL 时,它没有返回任何行。我的 SQL 中有什么问题不能在 PHP Oracle 中接受吗? 或者是否存在无法查询 Oracle 中的表的情况? 谢谢。

XML 文件中的 SQL:

Select "PROJECT_NAME" From TABLE_A
Where EXISTS (                         
   SELECT "DATA ID", "DATA NAME" FROM TABLE_B
   WHERE  TABLE_B."DATA LEVEL" = 3
   AND TABLE_B."DATA TYPE" = 'TYPEA')
AND TABLE_A.COLUMN1 is null

PHP 代码:

<?php 
echo '<br> sql: ' . $report_sql;
$stmt = oci_parse($conn, $report_sql);
oci_execute($stmt, OCI_DEFAULT);
echo '<div style="width:450px;"> <table id="tableBD1" class="display" cellspacing="0" width="100%">';
echo '<thead>
            <tr >
                <th>Project Name</th>
            </tr>
        </thead>';

echo '<tbody>';

while ($row=oci_fetch_array($stmt,OCI_BOTH)) 
{
  echo "<tr><td> <a href='#'>". $row['PROJECT_NAME'] . "</a> </td>";
}

echo '</tbody>';
echo '</table> </div>';

oci_free_statement($stmt);
?>

【问题讨论】:

  • $report_sql 在哪里?还是和上面的sql完全一样?我认为可能是语法错误

标签: php sql database oracle


【解决方案1】:

我认为问题可能来自您如何在 PHP 中检索和处理结果行。 我在 PHP 中使用 SDO_GEOMETRY 和 oracle 时也遇到过类似的问题。

我建议您在尝试打印特定字段之前尝试打印您的行。 提出请求和独立处理可能是个好主意。 抱歉,我没有资格只评论您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-13
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    相关资源
    最近更新 更多