需要帮助将 mysqli_fetch_array 引用转换为相应的 OCI 引用
Need assistance with converting mysqli_fetch_array references to corresponding OCI references
在 MySQL 数据库上,我使用以下 PHP 代码成功检索行并将两列的内容放入 table:
while ($row = mysqli_fetch_array($query))
{
echo '<tr>
<td>'.$row['sc_service'].'</td>
<td>'.$row['sc_color'].'</td>
</tr>';
}
现在,我正在尝试获取此代码并将其用于 Oracle 数据库。我试过交换似乎是 OCI 对应物的东西......
while (($row = oci_fetch_array($stid1, OCI_BOTH))!= false)
{
echo '<tr>
<td>'.$row['sc_service'].'</td>
<td>'.$row['sc_color'].'</td>
</tr>';
}
...但未定义列变量(sc_service
和 sc_color
)。
问题:定义列变量是否需要不同的方法?我想在 PHP 代码的其他区域使用变量,而不仅仅是填充 table.
我能够使用 OCI 函数成功执行以下 PHP 脚本(返回正确填充的 table),所以我知道我正在成功连接到数据库:
<?php include 'database.php'; ?> // my Oracle database oci_connect call
<?php
$stid = oci_parse($connect, 'SELECT * FROM service_color');
if (!$stid) {
$e = oci_error($connect);
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$r = oci_execute($stid);
if (!$r) {
$e = oci_error($stid);
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
print "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
print "<tr>\n";
foreach ($row as $item) {
print " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : " ") . "</td>\n";
}
print "</tr>\n";
}
print "</table>\n";
oci_free_statement($stid);
oci_close($connect);
Oracle 中的字段名称通常始终大写,PHP 中的数组键区分大小写:
while (($row = oci_fetch_array($stid1, OCI_BOTH))!= false)
{
echo '<tr>
<td>'.$row['SC_SERVICE'].'</td>
<td>'.$row['SC_COLOR'].'</td>
</tr>';
}
在 MySQL 数据库上,我使用以下 PHP 代码成功检索行并将两列的内容放入 table:
while ($row = mysqli_fetch_array($query))
{
echo '<tr>
<td>'.$row['sc_service'].'</td>
<td>'.$row['sc_color'].'</td>
</tr>';
}
现在,我正在尝试获取此代码并将其用于 Oracle 数据库。我试过交换似乎是 OCI 对应物的东西......
while (($row = oci_fetch_array($stid1, OCI_BOTH))!= false)
{
echo '<tr>
<td>'.$row['sc_service'].'</td>
<td>'.$row['sc_color'].'</td>
</tr>';
}
...但未定义列变量(sc_service
和 sc_color
)。
问题:定义列变量是否需要不同的方法?我想在 PHP 代码的其他区域使用变量,而不仅仅是填充 table.
我能够使用 OCI 函数成功执行以下 PHP 脚本(返回正确填充的 table),所以我知道我正在成功连接到数据库:
<?php include 'database.php'; ?> // my Oracle database oci_connect call
<?php
$stid = oci_parse($connect, 'SELECT * FROM service_color');
if (!$stid) {
$e = oci_error($connect);
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$r = oci_execute($stid);
if (!$r) {
$e = oci_error($stid);
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
print "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
print "<tr>\n";
foreach ($row as $item) {
print " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : " ") . "</td>\n";
}
print "</tr>\n";
}
print "</table>\n";
oci_free_statement($stid);
oci_close($connect);
Oracle 中的字段名称通常始终大写,PHP 中的数组键区分大小写:
while (($row = oci_fetch_array($stid1, OCI_BOTH))!= false)
{
echo '<tr>
<td>'.$row['SC_SERVICE'].'</td>
<td>'.$row['SC_COLOR'].'</td>
</tr>';
}