$db->dbDefineByName()的作用是将Select的列名绑定到变量上,标准点应该是将PHP变量绑定到Oracle语句的Placeholder上$dberrcode = $db->dbParseSql($sql, $stmt);//配置Oracle语句 if ($dberrcode == 0) { //检查是否有错误发生
$db->dbDefineByName($stmt, "H_ID", $h_id); //绑定到PHP变量,后面给Smarty
$db->dbDefineByName($stmt, "H_ID_SUB", $h_id_sub);
$db->dbDefineByName($stmt, "START_DATE", $start_date);
$db->dbDefineByName($stmt, "AREA_NAME", $area_name); $dberrcode = $db->dbExecute($stmt); //执行
$count=0;
if ($dberrcode == 0) { //检查错误
$count = 0;
while($db->dbFetch($stmt)){ //循环获取结果行
//这里的$h_id是前面$db->dbDefineByName($stmt, "H_ID", $h_id);绑定的.这里会自动赋值
$smarty->append("h_id", $h_id);
$smarty->append("h_id_sub", $h_id_sub);
$smarty->append("star_date", $start_date);
$smarty->append("area_name", $area_name);
$count++; //统计结果行数//echo "area_name:".$area_name." </br>";
}
$smarty->assign("count", $count); }
$db->dbFreeSql($stmt);
}
$db->dbFreeSql($stmt); //释放Oracle语句
$db->dbDisconn(); //断开数据库连接
$db->dbDefineByName($stmt, "H_ID", $h_id); //绑定到PHP变量,后面给Smarty
$db->dbDefineByName($stmt, "H_ID_SUB", $h_id_sub);
$db->dbDefineByName($stmt, "START_DATE", $start_date);
$db->dbDefineByName($stmt, "AREA_NAME", $area_name); $dberrcode = $db->dbExecute($stmt); //执行
$count=0;
if ($dberrcode == 0) { //检查错误
$count = 0;
while($db->dbFetch($stmt)){ //循环获取结果行
//这里的$h_id是前面$db->dbDefineByName($stmt, "H_ID", $h_id);绑定的.这里会自动赋值
$smarty->append("h_id", $h_id);
$smarty->append("h_id_sub", $h_id_sub);
$smarty->append("star_date", $start_date);
$smarty->append("area_name", $area_name);
$count++; //统计结果行数//echo "area_name:".$area_name." </br>";
}
$smarty->assign("count", $count); }
$db->dbFreeSql($stmt);
}
$db->dbFreeSql($stmt); //释放Oracle语句
$db->dbDisconn(); //断开数据库连接
当然$db(Tkcm01类)里面也是使用PHP OCI8标准函数实现的.