Tengo lo siguiente:
$query = 'SELECT * FROM wp_pod_tbl_add_questions WHERE id LIKE '. $id;
$row = $wpdb -> get_results($query);
¿Cómo obtengo las columnas denominadas 'id' y 'nombre' de $ row?
Tengo lo siguiente:
$query = 'SELECT * FROM wp_pod_tbl_add_questions WHERE id LIKE '. $id;
$row = $wpdb -> get_results($query);
¿Cómo obtengo las columnas denominadas 'id' y 'nombre' de $ row?
Prueba siempre el códice de WordPress: enlace
Básicamente, dada la sintaxis predeterminada, la variable $ row aquí es un objeto que contiene sus resultados. Alternativamente, podría especificar el TIPO de resultado (matriz numérica, matriz asociativa).
Asumiendo solo un resultado, entonces $ row- > id y $ row- > name deben proporcionarle la información.
Si recuperas más de un resultado, deberías recorrer las entradas en el objeto.
Si está esperando solo una fila, intente usar $ wpdb- > get_row enlace
Para usar como una matriz asociativa:
$obj=[];
$rows = $wpdb->get_results( 'SELECT * FROM 'tbl_name' WHERE 'id' = '.$obj_id , ARRAY_A);
foreach($rows as $row){ $obj=$row; break; }
// $obj is now the selected row if a match was found
Uso
$something = $obj['column_name'];
foreach($obj as $col => $val)
echo $col . ': ' . $val . PHP_EOL . '<br />';
Para obtener otros formatos, simplemente cambie ARRAY_A
en función de la documentación de para $wpdb->get_results()
. La respuesta de Pippin es apropiada para la mayoría de los objetos.
Para usar una fila como una matriz indexada numéricamente
$rows = $wpdb->get_results( 'SELECT * FROM 'tbl_name' WHERE 'id' = '.$obj_id , ARRAY_N);
foreach($rows as $row){ $obj=$row; break; }
//Usage
foreach($obj as $col_value) echo $col_value . ' ';
Para usar una fila en una matriz cuyas claves son la clave principal de su base de datos (a menudo una columna id
). Posiblemente más eficiente que el método de matriz asociativa.
$rows = $wpdb->get_results( 'SELECT * FROM 'tbl_name' WHERE 'id' = '.$obj_id , OBJECT_K);
$obj = $rows[ $obj_id ];
//Usage
$something = $obj->column_name;
//Remember you can loop over objects too
foreach($obj as $col => $val)
echo $col . ': ' . $val . PHP_EOL;
Este código funciona perfecto para mí:
global $wpdb;
$table_name = "my_table_name";
$myrows = $wpdb->get_results( "SELECT 'id', 'name' FROM ".$table_name);
foreach ($myrows as $details) {
echo $details->id;
echo $details->name;}
Lea otras preguntas en las etiquetas wpdb