0
有一個PHP工廠,它有一個子類,用於查詢數據庫中的一個或多個無關表。該類將一個表名稱作爲參數並返回一個數組對象。爲多個不相關的表分隔PHP/PDO執行結果
當需要多個表時,我想要一種方法將每個表結果集分隔到它自己的數組中。該類將返回一個多暗數組。
我寧願不實例化另一個工廠實例。這是當前的查詢/結果代碼塊。我已經離開了所有其他非必要的代碼爲簡潔
// if array has more than one table to query,
// run queries on each table
$count = count($tname);
if ($count>1) {
foreach ($tname as $value) { //each table name in array
/* $query = "SELECT s.* FROM $value s"; tried with table alias */
$query = "SELECT * FROM $value";
if ($stmt = self::$_conn->prepare($query)) {
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$result[] = $row;
}
} else {
return false;
}
}
return $result;
// else if only one table to query
} else {
$string = $tname; //table name
$query = "SELECT * FROM $string";
if ($stmt = self::$_conn->prepare($query)) {
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$result[] = $row;
}
return $result;
} else {
return false;
}
}
擁有超過一個表,將返回類似:
Array
(
[0] => Array
(
[team_id] => 3
[team_name] => Maverics
)
[1] => Array
(
[team_id] => 4
[team_name] => Stallions
)
[3] => Array
(
[fld_id] => 1
[fld_name] => 6v6-1
)
[4] => Array
(
[fld_id] => 2
[fld_name] => 8v8-2
)
)
其中0,1是從一個表和3, 4是來自另一個。
預先感謝您