我遇到了有關SQL查詢的問題。將2個sql查詢放入同一個PHP數組中
在我使用一個查詢之前。 :
$query= "SELECT hw.name as server, proc.cmd as cmd, proc.pid as pid, proc.ppid as ppid FROM hw,proc WHERE hw.id=proc.hardware_id AND hw.name LIKE :servername ORDER BY hw.name;";
$dbh = new PDO("mysql:host=*****;dbname=*****","*****","*****");
$stmt = $dbh->prepare($query);
$stmt->bindValue(":servername","$servername%");
$stmt->execute();
if ($stmt->execute() != TRUE) {
print "Erreur requete SQL";
print_r($stmt->errorInfo());
}
$results=$stmt->fetchAll();
現在我需要使用2個不同的查詢,並把它們放置到同一個陣列:
$results=$stmt->fetchAll();
所以我有想法,使2查詢,並將它們放到同一個$結果直接像這樣。
$query= "SELECT hw.name as server, proc.cmd as cmd, proc.pid as pid, proc.ppid as ppid FROM hw,proc WHERE hw.id=proc.hardware_id AND hw.name LIKE :servername ORDER BY hw.name;";
$query2= "SELECT hw.name as server, svc.servicename as svc, svc.displayname as svcname FROM hw,svc WHERE hw.id=svc.hardware_id AND hw.name LIKE :servername ORDER BY hw.name;";
$dbh = new PDO("mysql:host=*****;dbname=*****","*****","*****");
$stmt = $dbh->prepare($query,$query2);
$stmt->bindValue(":servername","$servername%");
$stmt->execute();
if ($stmt->execute() != TRUE) {
print "Erreur requete SQL";
print_r($stmt->errorInfo());
}
$results=$stmt->fetchAll();
對於我修改了:$stmt = $dbh->prepare($query,$query2);
但是,這是行不通的。
你有任何想法如何將2個SQL查詢放入同一個數組嗎?
或者,也許,如何創建2個數組,並與他們一個?
在此先感謝。
我不沒有理由有兩個查詢,你能解釋一下,也許我們可以只用一個查詢來獲得預期的結果 –
我沒有理解有一個數組的問題:第一個查詢返回一個進程列表,第二個查詢返回一個進程列表它似乎是一個服務列表。兩個查詢都有不同的列。那麼對連接有什麼用處:它會給出流程和服務的組合。 UNION有什麼用處:需要添加多個虛擬列。我認爲:兩個查詢和兩個結果集將是最好的解決方案。 – VMai
準確地說,我想爲兩個查詢使用一個數組,因爲我在其他許多部分中分塊了結果數組。 其實我試圖做:2查詢,3array(2 arrayquery和1結果與「array_merge」),但這是在我的腳本太多的行....... 我希望你能幫助我,因爲結果完美的地方。 – user3114471