2011-10-09 7 views
5

Sto costruendo una funzione che si comporta come la funzione variable_initialize() di Drupal che estrae tutte le coppie chiave/valore in una variabile globale. Sto cercando di trovare i parametri corretti che ho bisogno di mettere in fetchAll() per rimuovere il numero di riga e ottenere fondamentalmente ciò che fetch (PDO :: FETCH_ASSOC) fa ma per tutte le righe restituite.PHP PDO FetchTutti gli argomenti per rimuovere il numero di riga dai risultati

Io fondamentalmente voglio fetchAll per tornare:

Array { 
    [name] = value, 
    [name2] = value2, 
    [name3] = value3, 
} 

La tabella delle variabili è un semplice 2 tavolo colonna (nome) | (valore)

function variable_init() { 
global $db, $variable; 

$query = "SELECT * FROM variable"; 
$stmt = $db->prepare($query); 
$stmt->execute(); 
$result = $stmt->fetchAll(); //need help here 

    foreach($result as $name => $value) { 
     $variable[$name] = $value; 
    } 
} 

ho cercato PDO_COLUMN/PDO_GROUP/etc. .. ma non riesco a compensare la matrice per rimuovere i numeri di riga. Grazie.

risposta

6

Penso che potresti sentirti confuso su cosa restituisce PDOStatement::fetchAll().

Il metodo restituisce tutte le righe (matrici o oggetti, in base allo stile di recupero) in un array .

provare questo

$result = $stmt->fetchAll(PDO::FETCH_ASSOC); 

foreach ($result as $row) { 
    $variable[$row['name']] = $row['value']; 
} 
+0

Grazie per l'aiuto. Sto ancora imparando DOP lentamente ma sicuramente. – Brandon