使用Oracle的PHP新手。我在网上关注的例子。我在官方网站上使用这个例子1。我的问题是,它显示了我想要的所有记录,但它缺少列/字段名称。有没有人现在如何改变它,以便它包括标题? (例如,我的员工表会有......名字,姓氏......)谢谢
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT * FROM employee');
oci_execute($stid);
$nrows = oci_fetch_all($stid, $res);
echo "$nrows rows fetched<br>\n";
var_dump($res);
// Pretty-print the results
echo "<table border='1'>\n";
foreach ($res as $col) {
echo "<tr>\n";
foreach ($col as $item) {
echo " <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
oci_free_statement($stid);
oci_close($conn);
?>
答案 0 :(得分:0)
大多数DBMS(我没有使用它们所以我不能说“全部”)系统有一个单独的表来存储这种元信息,所以你想要查询它。在Oracle中,它存储为字典,可能存在于某种表头数据或元信息中(我实际上并不熟悉Oracle的底层结构),它被称为user_tab_columns
那你做了什么?查询它就好像它是一个表。
SELECT * FROM user_tab_columns WHERE TABLE_NAME='employee'
但是,我不知道你为什么要在给出你的代码之后查询这个问题,因为你已经知道列名并且可以很容易地对它们进行硬编码。