tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
260
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Hallo,

    ich hab mich gerade etwas in das Thema PDO und Prepared Statements eingelesen.

    Ich habs soweit gecheckt, allerdings eines habe ich nirgends gelesen:

    Wenn ich eine Abfrage innerhalb einer Abfrage machen muss also z.b.:

    PHP-Code:
     $sql "SELECT * FROM blabla";
    $erg mysql_query($sql);
    if(
    mysql_num_rows) { // gucken ob was im Query drinsteckt
        
    while($row mysql_fetch_object($erg)) 
        {
            
    mach irgendwas
            $sql1 
    "SELECT * FROM blabla1 WHERE ID = $row->news";
            
    $erg1 mysql_query($sql1);
            if(
    mysql_num_rows) { // gucken ob was im Query drinsteckt
                
    while($row1 mysql_fetch_object($erg1)) 
                {
                    
    machnochwas
                
    }          
           }

    Wie müsste das mit PDO bzw. Prepared Statements aussehen?
    Geändert von nchristoph (23.01.12 um 11:13 Uhr)
     

  2. #2
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Das könntest Du in dieser Form machen:
    PHP-Code:
    // Hauptresult holen
    $objResult $objPdo->query"SELECT * FROM blabla" );

    // inneren Query vorbereiten
    $objStmt $objPdo->prepare"SELECT * FROM blabla1 WHERE ID = :id" );

    // Hauptresult abarbeiten
    while ( $arrRow $objResult->fetchPDO::FETCH_ASSOC )
    {
        
    // Parameter an das Prepared Statement binden
        
    $objStmt->bindParam':id'$arrRow['news'], PDO::PARAM_INT );

        
    // Prepared Statement ausfuehren
        
    $objStmt->execute();

        
    // Inneres Result abarbeiten
        
    while ( $arrInnerRow $objStmt->fetchPDO::FETCH_ASSOC )
        {
            
    // mach noch mehr
        
    }

    Gruß
     

  3. #3
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Danke mal für die Antwort.

    Muss ich dann in der 2ten whileschleife auch noch execute(); machen?
     

  4. #4
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Zitat Zitat von nchristoph Beitrag anzeigen
    Danke mal für die Antwort.

    Muss ich dann in der 2ten whileschleife auch noch execute(); machen?
    Nein brauchst Du nicht.

    Du hast über den Array $arrInnerRow Zugriff auf die Daten:
    PHP-Code:
    echo $arrInnerRow['spaltenname']; 
    Gruß
     

Ähnliche Themen

  1. Dynamics Frage / allg. Frage
    Von dixone im Forum Cinema 4D
    Antworten: 7
    Letzter Beitrag: 01.09.10, 23:00
  2. Frage-Antwort-Frage Spiel...
    Von Vitus im Forum Fun-Forum
    Antworten: 15
    Letzter Beitrag: 26.08.08, 20:14
  3. [Frage:] Frage zu Passgen
    Von Liftboy im Forum PHP
    Antworten: 6
    Letzter Beitrag: 04.08.05, 19:03
  4. Antworten: 5
    Letzter Beitrag: 01.04.05, 13:00
  5. Frage!
    Von Vinci im Forum Cinema 4D
    Antworten: 29
    Letzter Beitrag: 08.10.04, 16:33