php implode 不能与 sql oracle 一起工作
php implode not working with sql oracle
尝试将来自 oracle table 的所有结果放入 php 变量中,使用此代码的内爆但不起作用。
这里有什么问题?
$sql = oci_parse($ora_con, "SELECT * FROM TABLE");
oci_execute($sql);
while (($row = oci_fetch_row($sql)) != false) {
echo $result = implode(',',(array)$row[0]);
}
结果是:resul1result2result3result4
而不是:result1、result2、result3
这里的问题是您一次获取一行,然后分解单个项目,最后没有逗号(因为只有一个)。你输出它,然后循环到下一个结果 - 将它放在输出中。
相反,也许可以尝试以下方法,它构造一个结果数组,然后回显内爆的结果:
$results = [];
while (($row = oci_fetch_row($sql)) != false) {
$results[] = $row[0];
}
echo implode(',', $results);
is to fetch all rows in the resultset directly using oci_fetch_all
的替代方法:
$sql = oci_parse($ora_con, 'SELECT * FROM TABLE');
oci_execute($sql);
oci_fetch_all($sql, $result, 0, -1, OCI_NUM);
echo implode(',', $result[0]);
尝试将来自 oracle table 的所有结果放入 php 变量中,使用此代码的内爆但不起作用。 这里有什么问题?
$sql = oci_parse($ora_con, "SELECT * FROM TABLE");
oci_execute($sql);
while (($row = oci_fetch_row($sql)) != false) {
echo $result = implode(',',(array)$row[0]);
}
结果是:resul1result2result3result4
而不是:result1、result2、result3
这里的问题是您一次获取一行,然后分解单个项目,最后没有逗号(因为只有一个)。你输出它,然后循环到下一个结果 - 将它放在输出中。
相反,也许可以尝试以下方法,它构造一个结果数组,然后回显内爆的结果:
$results = [];
while (($row = oci_fetch_row($sql)) != false) {
$results[] = $row[0];
}
echo implode(',', $results);
oci_fetch_all
的替代方法:
$sql = oci_parse($ora_con, 'SELECT * FROM TABLE');
oci_execute($sql);
oci_fetch_all($sql, $result, 0, -1, OCI_NUM);
echo implode(',', $result[0]);