2013-08-16 50 views
1

好吧,我正在做的事情是不可能的,我這樣做的方式(我已經連續兩天......再次),但它是可能的運行通過PDO進行多重查詢並返回所有結果...就像這樣?PDO,fetchall和multiquery

$sql = 
"SELECT username, faction FROM users WHERE uid = :uid;". 
"SELECT level, exp, health, luck, first_name, last_name FROM player_information WHERE uid = :uid"; 
    $que = $this->db->prepare($sql); 
    $que->bindParam('uid', $uid); 
    try{ 
     $que->execute(); 
     $row = $que->fetchAll(); 
     print_r($row); 
    }catch(PDOException $e){$e->getMessage(); } 

還是我只是吠叫錯了樹?

+0

可能重複[PDO支持多個查詢(PDO \ _MYSQL,PDO \ _MYSQLND)](http://stackoverflow.com/questions/6346674/pdo-support-for-multiple-queries-pdo-mysql-pdo-mysqlnd ) – hjpotter92

+0

@ hjpotter92爲什麼不在到達按鈕前閱讀一個問題? –

回答

1

是,這樣的 「multiquery」 被稱爲JOIN

SELECT username, faction, level, exp, health, luck, first_name, last_name 
FROM users u, player_information pi WHERE u.uid = pi.uid AND u.uid = :uid 

也,你在呼喚它

在使用錯誤的運營商
$sql = "SELECT username, faction, level, exp, health, luck, first_name, last_name 
     FROM users u, player_information pi WHERE u.uid = pi.uid AND u.uid = ?"; 
$stm = $this->db->prepare($sql); 
$stm->execute(array($uid)); 
$row = $que->fetch(); 
print_r($row); 

會以較少的代碼給你結果