2011-10-09 14 views
5

Estoy construyendo una función que actúa como la función variable_initialize() de Drupal que extrae todos los pares clave/valor en una variable global. Estoy tratando de encontrar los parámetros adecuados que necesito poner en fetchAll() para eliminar el número de fila y obtener básicamente lo que hace fetch (PDO :: FETCH_ASSOC) pero para todas las filas devueltas.PHP PDO Fetch Todos los argumentos para eliminar el número de fila de los resultados

Básicamente quiero fetchAll para volver:

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

La tabla de variables se encuentra a 2 tabla de columna sencilla (nombre) | (valor)

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; 
    } 
} 

He tratado PDO_COLUMN/PDO_GROUP/etc. .. pero parece que no puedo compensar la matriz para eliminar los números de fila. Gracias.

Respuesta

6

Creo que puede estar confundido acerca de lo que PDOStatement::fetchAll() devuelve.

El método devuelve todas las filas (matrices u objetos, según el estilo de recuperación) en una matriz .

probar este

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

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

Gracias por la ayuda. Todavía estoy aprendiendo DOP de forma lenta pero segura. – Brandon

Cuestiones relacionadas