這是簡化SQL查詢函數的一個方法,希望對您有所幫助
如果有更好的看法,請OICQ 86804 或 EMAIL: [email protected] 共同研究
# SQL查詢
# 當count=true時,只計算記錄數
function db_query($query, $rec = false) {
if($rec) {
$query = explode("from", $query); // 簡單的截取
$query = "select count(*) from ". $query[1];
}
$result = mysql_query($query) or die(mysql_error());
if($rec) {
$rows = mysql_fetch_row($result);
$reccount = $rows[0];
}
else {
$reccount = mysql_num_rows($result);
}
if($reccount) {
$re->result = $result;
$re->reccount = $reccount;
}
else {
$re = false;
}
return $re; // 以後就可以用 $re->xx 的方法調用了
}
例如
......
# 只求記錄數
$query = "select id,name,about from table where id > 10";
$re = db_query($query,true); //形如 select count(*) from table where id > 10
print $re->reccount; // 返回記錄數
#求查詢結果
$query = "select id,name,about from table where id > 10";
$re=db_query($query);
for($i=0; $i<$re->reccount; $i++) {
$rows = mysql_fetch_object($re->result);
print $rows->id;
}