Php 查询Oracle数据库的功能-';未定义索引';通知
为了提供一些上下文,不久前,在VolkerK的帮助下,我在这个网站上创建了一个函数,该函数可以查询Oracle数据库,并根据索引将内容放入格式整洁的PHP数组中 问题是,在某些情况下,我只想从快速查询中返回一个值,当我这样做时,我会得到以下错误:Php 查询Oracle数据库的功能-';未定义索引';通知,php,arrays,oracle,select,oracle-call-interface,Php,Arrays,Oracle,Select,Oracle Call Interface,为了提供一些上下文,不久前,在VolkerK的帮助下,我在这个网站上创建了一个函数,该函数可以查询Oracle数据库,并根据索引将内容放入格式整洁的PHP数组中 问题是,在某些情况下,我只想从快速查询中返回一个值,当我这样做时,我会得到以下错误:注意:未定义索引: 以下是我使用的代码: function oracleGetData($query, $id = null) { global $conn; $results = array(); $sql = OCI_Par
注意:未定义索引:
以下是我使用的代码:
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变量为null,请删除对它的所有引用,但随后会出现“警告:非法偏移量类型”错误
任何帮助都将不胜感激,我已经尝试将我需要的单个字段传递到函数中,但得到了相同的错误
谢谢如果$id为空,您可以使用顺序号作为索引,如下所示:
function oracleGetData($query, $id = null)
{
global $conn;
$results = array();
$sql = OCI_Parse($conn, $query);
OCI_Execute($sql);
if(is_null($id)) {
$idx = 1;
while (false!==($row=oci_fetch_assoc($sql))) {
$results[ $idx ] = $row;
$idx = $idx + 1;
}
} else {
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;
}
分享和享受