【问题标题】:PHP: Can't Get Oracle Table to Display on PagePHP:无法让 Oracle 表在页面上显示
【发布时间】:2025-12-28 08:55:15
【问题描述】:

这可能是一个非常明显的错误。无论如何,一些细节:

我有一个 oracle 数据库,我需要从中提取数据以填充 PHP 页面上的表。该表名为 Flowers,包含 Name、Price 和 Stock 列。

我遇到问题的 PHP 代码部分是这样的:

$titlevalue = Trim($_REQUEST['search']);
$query = "SELECT * FROM FLOWERS WHERE NAME = '$titlevalue'";

$stmt = OCIParse($connect, $query); 
if(!$stmt) {
    echo "An error occurred in parsing the sql string.\n"; 
    exit; 
}
OCIExecute($stmt);

当我在我的数据库上使用不同的表时,我的 PHP 的其余部分可以完美地工作,这是我作为测试所做的。以防万一,这是打印查询结果的代码(它是 HTML 表的一部分,但您可以忽略它):

while(OCIFetch($stmt)) {
    echo "<tr valign=top bgcolor=#F7D4A3>";
    $fg1 = OCIResult($stmt,"NAME");
    echo "<td width=75>";
    echo $fg1;
    echo "</td>";
// Display values in column two.
    $fg2 = OCIResult($stmt,"PRICE");
    echo "<td width=75>";
    echo ($fg2);
    echo "</td>";
// Display values in column three
    $fg3 = OCIResult($stmt, "STOCK");
    echo "<td width=75>";
    include($fg3);
    echo "</td>";
    echo "</tr>";
} 

无论 $titlevalue 变成什么,我都无法使用此表获得结果。我还用通用的$query = "SELECT * FROM FLOWERS"; 对其进行了测试,但这也没有产生任何结果。

有人可以帮忙吗? :(这是一个非常漫长的夜晚。

【问题讨论】:

  • 你的sql语句在提交前的实际值是多少? echo...您收到什么错误?

标签: php mysql sql database oracle


【解决方案1】:

如果可以的话,请注意两点:

1) 你正在使用“$titlevalue”,我认为这将在查询中翻译为 ... $titlevalue,而不是它的值

2) 太晚了...您是否检查过您的表名为 FLOWERS(区分大小写)

我会发表评论,但我没有代表这样做。

如果这有帮助,请 +1 或点击勾选标记。我通常在执行 sql 查询时尝试使用完整格式

SELECT * FROM `table name` WHERE 'x' 

...等可能的情况下

【讨论】: