为了提供一些上下文,不久前在这个站点上的 VolkerK 的帮助下,我创建了一个函数,它查询 Oracle 数据库并将内容放入格式整齐的 PHP 数组中,具体取决于索引。这是原始问题。
问题是,在某些情况下,我只想从快速查询中返回一个值,当我这样做时,会出现以下错误:Notice: Undefined index:
这是我正在使用的代码:
function oracleGetData($query, $id = null) {
global $conn;
$results = array();
$sql = OCI_Parse($conn, $query);
OCI_Execute($sql);
while ( false!==($row=oci_fetch_assoc($sql)) ) {
$results[ $row[$id] ] = $row;
}
// remove one layer if there's only one record
if(count($results) == 1 and is_null($id)) {
$results = array_pop($results);
}
return $results;
}
我尝试更改填充数组的行,如下所示:
if(is_null($id)) {
while ( false!==($row=oci_fetch_assoc($sql)) ) {
$results[ $row ] = $row;
}
} else {
while ( false!==($row=oci_fetch_assoc($sql)) ) {
$results[ $row[$id] ] = $row;
}
}
基本上,如果 $id 变量为空,请删除对它的所有引用,但随后出现“警告:非法偏移类型”错误。
任何帮助将不胜感激,我尝试将我需要的单个字段传递给函数,但得到相同的错误。
谢谢