Icono del sitio Imacreste

Consultas de base de datos en WordPress

Para realizar consultas de base de datos en WordPress disponemos del objeto $wpdb; y sus clases.

En primer lugar se debe definir $wpdb; como variable global, también al instalar WordPress debemos establecer un prefijo de las tablas, por si ese prefijo cambia es importante referirnos a las tablas llamando a ese prefijo

global $wpdb;
echo $wpdb->base_prefix."name_table";
//devolverá: wp_name_table. Siempre que el prefijo sea wp_ (recomendado cambiarlo)

Funciones de base de datos

Prepare()

Se utiliza para evitar ataques de inyección SQL. Por tanto es importante usarla siempre que realicemos una consulta a la base de datos.

Query()

Se utiliza para ejecutar cualquier tipo de consulta: select, insert, delete y update.

Get_row()

Devuelve un único registro.

Get_results()

Devuelve todos los registros como una matriz.

Insert()

Se utiliza para insertar registros.

Update()

Se utiliza para hacer actualizaciones.

$mitabla = $wpdb->base_prefix."mitabla";

//insertamos info
$wpdb->query( $wpdb->prepare("INSERT INTO $mitabla (campo1, campo2, campo3) VALUES(%s, %s, %d)", 'valor 1', 'valor 2', 95) );

//si no pasamos variables no hay que usar prepare
$wpdb->results('select * from $mitabla");

//actualizamos valores $wpdb->update($mitabla, array( 'campo1' => 'otro valor', 'campo2' => 'otro valor' ), array('campo3' => 95)); //borramos $wpdb->query( $wpdb->prepare("DELETE FROM $mitabla WHERE campo3= %d", 95) );

Solucionar errores en las consultas

Siempre que se trabaja con consultas resulta útil poder ver mensajes de error. WordPress nos ofrece algunas funciones:

Show_errors(); y print_errors();

Muestra errores por pantalla.

Num_queries()

Número de consultas ejecutadas

Num_rows()

Número de registros devueltos.

Last_query()

Muestra la ultima consulta por pantalla.

var_dump($wpdb->last_query);
echo $wpdb->last_error;

Conclusiones

Ahora podemos crear nuestras propias tablas e integrarlas dentro de WordPress, aprovechándonos de las mejoras de las funciones que se realizan con cada nueva versión.

Salir de la versión móvil