我正在为我的项目执行此代码,似乎我无法将查询的值转换为$ currentRow。保存到变量$ currentrow中的所有内容都是22,这是数据库中的行数。我想访问所有查询结果。请帮忙。这是代码。
public function getBSIConfig(){
$conn = oci_connect("472proj","system","//localhost/XE");
$sql = oci_parse($conn,"SELECT conf_id, conf_key, conf_value FROM bsi_configure");
oci_execute($sql);
echo "0";
while($currentRow = oci_fetch_all($sql,$res)){
echo "1.5";
echo $currentRow;
if($currentRow["conf_key"]){
echo "1";
if($currentRow["conf_value"]){
$this->config[trim($currentRow["conf_key"])] = trim($currentRow["conf_value"]);
echo "2";
}else{
$this->config[trim($currentRow["conf_key"])] = false;
echo "3";
}
}
}
}
输出仅为:
0
1.5
22
答案 0 :(得分:1)
此函数的结果存储在第二个参数中,而不是直接返回。看看这是否适合你:
$results = array();
$numResults = oci_fetch_all($sql, $results);
foreach ($results as $result) {
if ($result["conf_key"]) {
// etc ...
}
}
答案 1 :(得分:0)
阅读此http://php.net/manual/en/function.oci-fetch-all.php,您可能会知道出了什么问题。