これが私のコードのスニペットです:
$other_query = $this -> db -> query("SELECT EXISTS(SELECT 1 FROM shops WHERE cid=$cid AND zbid!=0 AND zbid!=$zbid)",__LINE__,__FILE__);
$this -> db -> output_vars["other_shops"] = $this -> db -> get_result($other_query); // 1 = there are other shops, 0 = no other shops
if($group["shop_create"] == 0){
$my_shop = 3;
} else {
$my_shop_query = $this -> db -> query("SELECT EXISTS(SELECT 1 FROM shops WHERE cid=$cid AND zbid=$zbid LIMIT 1)",__LINE__,__FILE__);
$my_shop = $this -> db -> get_result($my_shop_query) == 1 ? 1 : 2;
}
2 つのクエリを 1 つにまとめたいと思います。2 つのクエリの唯一の違いは、一方が行 wherezbid!=0 AND zbid!=$zbid
をチェックするのに対し、もう一方は行 where をチェックすることzbid=$zbid
です。ここでの他の問題は、if
ステートメントです。また、その場合$group["shop_create"] == 0
(つまり、この最初のコードでは 1 つのクエリのみが実行される)、結合されたクエリに余分な作業を行わせたくありません。
興味のある方のために説明すると、$this -> db -> get_result($query_resource)
基本的には に相当するものを返しますmysql_result($query_resource,0)
。mysql
からに切り替えたときにこの機能を追加しましたmysqli
。
それが理にかなっていることを願っています!