2012-03-29 10 views
0

Ich habe den folgenden Code:MySQL & PDO: über Effizienz

<?php 
try { 
    # MySQL with PDO_MYSQL 
    $DBH = new PDO("mysql:host=*****;dbname=****", "****", "*****"); 
    $DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    # statement handle (prevents injection) 
    $STH = $DBH->prepare("SELECT Adresse FROM Agences"); 
    $STH->execute(); 

    # statement handle (prevents injection) 
    $STHNAMES = $DBH->prepare("SELECT `numero-agence` FROM Agences"); 
    $STHNAMES->execute(); 

    $storeArray = Array(); 
    $nameArray = Array(); 
    while ($row = $STH->fetch()) { 
     $storeArray[] = $row['Adresse']; 
    } 

    while ($row = $STHNAMES->fetch()) { 
     $nameArray[] = $row['numero-agence']; 
    } 

    echo json_encode(
    Array("theAddress" => $storeArray, 
    "theName" => $nameArray) 
); 
} 
catch(PDOException $e) { 
    echo 'There was an issue inserting thing into database: '.$e->getMessage(); 
} 
?> 

Meine Frage ist: Gibt es eine Möglichkeit, die zwei Abfragen zu kombinieren und immer noch ein assoziatives Array an den Client zurück zu senden JSON-codierte ? (Ich frage dieses Bit von PHP mit einem Ajaxanruf ab und benötige die resultierenden Daten)

Danke.

Antwort

2

Kann in derselben Abfrage erfolgen:

 # statement handle (prevents injection) 
     $STH = $DBH->prepare("SELECT Adresse, `numero-agence` FROM Agences"); 
     $STH->execute(); 

     $storeArray = Array(); 
     $nameArray = Array(); 
     while ($row = $STH->fetch()) { 
      $storeArray[] = $row['Adresse']; 
      $nameArray[] = $row['numero-agence']; 
     } 
+0

so toll funktioniert, danke! – Krimo