ホームページ  >  記事  >  バックエンド開発  >  discuz x2.5のfetch_all関数とその対処方法を説明してください。

discuz x2.5のfetch_all関数とその対処方法を説明してください。

WBOY
WBOYオリジナル
2016-06-13 12:10:111662ブラウズ

discuz );
$query = self::query($sql, $arg, $silent, false);
while ($row = self::$db->fetch_array( $query)) {
if ($keyfield && isset($row[$keyfield])) {
$data[$row[$keyfield]] = $row;
} else {
$data[] = $row ;
}
}
self::$db->free_result($query);
return $data;
}

この関数を説明してください。各コードと関数パラメータの意味を説明するのが最善です。ありがとう!

------解決策のアイデア----------------------



<br />/*<br />*	$sql		要执行的sql语句<br />*	$arg		sql中要用到的参数(数组)<br />*	$keyfield	返回数组中的键名(若有)<br />*	$silent		已以哪种方式查询(默认是mysql_query,还有mysql_unbuffered_query)<br />*/<br />public static function fetch_all($sql, $arg = array(), $keyfield = '', $silent=false) {<br />	<br />	$data = array();<br />	$query = self::query($sql, $arg, $silent, false);//执行查询<br />	while ($row = self::$db->fetch_array($query)) {<br />		//将查询的资源放到$data数组中,若$keyfield有值,则将$keyfield作为$data的key值<br />		if ($keyfield && isset($row[$keyfield])) {<br />			$data[$row[$keyfield]] = $row;<br />		} else {<br />			$data[] = $row;<br />		}<br />	}<br />	self::$db->free_result($query);//释放资源<br />	return $data;//二维数组<br />}<br />


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。