mysqlクエリの結果を配列に変換する関数を作成しようとしています
以下の関数では、フィールドisbn, title and rank
があると想定していますが、常にそうであるとは限りません。
この情報を事前に知らなくても、値とともにフィールド名を取得する方法はありますか?この関数を任意のmysqlクエリ結果で使用できるようにします。
働き
function mysqlToArray($result){
$arr = array();
$numRows = mysql_num_rows($result);//count
if($numRows>0){
for($i=0; $i<$numRows; $i++){
$arr[] = array(
"isbn" => mysql_result($result, $i, "isbn"),
"title" => mysql_result($result, $i, "title"),
"rank" => mysql_result($result, $i, "rank"),
);
}
}
return $arr;
}
使用例
function getProfitableBooks(){
$q = "SELECT isbn, title, rank FROM ".TBL_BOOKS;
$result = mysql_query($q, $this->connection);
if(!$result || (mysql_numrows($result) < 1)){
return null;
}
return $this->mysqlToArray($result);
}