このコードを実行するたびに、カラムが同じであるため、test2
の値だけが取得されます。PHP Mysqli fetch_assoc()joinクエリのfetch_assoc()
$Return = array();
$Output = $MySQLi->query("SELECT * FROM test1 as A LEFT JOIN test2 as B ON A.abc=B.abc");
while($Row = $Output->fetch_assoc()) {
$Return[] = $Row;
}
var_dump($Return);
これは私が得るものです。
array(1) { [0]=> array(2) { ["abc"]=> string(1) "2" [123]=> string(1) "3" } }
fetch_assoc()にこのような結果を返す方法はありますか?
array(1) { [0]=> array(2) { ["A.abc"]=> string(1) "7" [A.123]=> string(1) "8" ["B.abc"]=> string(1) "2" [B.123]=> string(1) "3" } }
test1とtest2の各列のエイリアスを作成する必要があります。 – Saty
@Satyこれを避ける方法はありますか?私が実際に使っているテーブルは小さくないので、一度に4つになることもあります。 –
"SELECT A。*、B * FROM test1を左ジョイントtest2としてBを使用するA.abc = B.abc" – RJParikh