En una entrega anterior mostré como podemos leer directamente un archivo PO desde php (sin usar las funciones nativas de Wordpress), ahora vemos como podemos acceder y manipular la base de datos de Wordpress directamente desde Php. Te invito a que sigas leyendo por favor este tutorial y dejes tus comentarios.
Wordpress tiene funciones nativas para manipular una base de datos (de si mismo), pero si quisiéramos conectarnos a esa base de datos desde fuera de Wordpress (otro archivo php en el mismo servidor), podríamos:
include("../../../wp-config.php");
include("db.php");
global $table_prefix;
$conn = dbconnect(DB_HOST, DB_NAME, DB_USER, DB_PASSWORD);
//Borrar o actualizar datos de una tabla de Wordpress
mysql_query($SQL_SENTENCE);
//Leer datos mediante una sentencia SQL desde una tabla de Wordpress
$rs = @dbfetch_array($SQL_QUERY_SENTENCE, $conn);
if($rs != NULL) $rst = mysql_fetch_array($rs);
if($rst != NULL) @mysql_data_seek($rs, 0);
//Si queremos unicamente leer un campo del primer registro
$data = $rst["FIELDNAME"];
//Si queremos leer todos los registros
while($rst = mysql_fetch_array($rs))
{
$data1 = $rst["FIELDNAME1"];
$data2 = $rst["FIELDNAME2"];
}
$rst = null;
$rs = null;
$conn = null;
?>
Como pueden ver el procedimiento es muy simple, primero incluimos en nuestro archivo php, la configuración de wordpress con la línea include("../../../wp-config.php"); , esto corresponde a tres directorios atrás de la ruta de nuestro tema en php, ejemplo /wp-content/themes/nuestrotema , en la carpeta "nuestrotema" debemos poner el archivo php personalizado que accederá a la base de datos de Wordpress, si cambiamos la ruta, entonces debemos ajustar está línea que menciono a fin de poder encontrar el archivo de configuración.
Posteriormente usaremos la librería para conectar a la base de datos:
include("db.php");
Analizemos el interior del archivo db.php
<?
// este código está basado en http://www.webestilo.com/php/php07c.phtml
/**** CONECTAR A LA BASE DE DATOS ****/
function dbconnect($dbhost, $dbname, $dbusername, $dbpassword)
{
if(!($conn = mysql_connect(trim($dbhost), trim($dbusername), trim($dbpassword))))
{
$connection = null;
echo "Error, no se a podido conectar con la base de datos, revise su configuración...";
exit();
}
else
$connection = $conn;
if(!mysql_select_db(trim($dbname), $conn))
{
$connection = null;
echo "Error, no se a podido seleccionar la base de datos en éste momento, por favor, inténtelo más tarde.";
exit();
}
else
$connection = $conn;
return $connection;
}
/**** CONECTAR A LA BASE DE DATOS ****/
/**** RECUPERAR REGISTROS DE LA BASE DE DATOS ****/
function dbfetch_array($SQL, $connection)
{
return @mysql_query($SQL, $connection);
}
/**** RECUPERAR REGISTROS DE LA BASE DE DATOS ****/
?>
Esta librería una vez establecida la conexión a la base de datos, nos permite poder leer los registros de la misma de un modo sencillo, nos regresa un array con todos los registros, posteriormente ya en nuestro archivo php los leeremos de forma secuencial y los aplicaremos como gustemos.
Espero les sea de mucha utilidad.
¿Te gustó este post?, entonces si lo deseas puedes apoyarnos para continuar con nuestra labor, gracias.
- Heredar las funciones de Wordpress a nuestro archivo.
- Usar una pequeña librería que nos facilite el trabajo (cortesía de un servidor).
include("../../../wp-config.php");
include("db.php");
global $table_prefix;
$conn = dbconnect(DB_HOST, DB_NAME, DB_USER, DB_PASSWORD);
//Borrar o actualizar datos de una tabla de Wordpress
mysql_query($SQL_SENTENCE);
//Leer datos mediante una sentencia SQL desde una tabla de Wordpress
$rs = @dbfetch_array($SQL_QUERY_SENTENCE, $conn);
if($rs != NULL) $rst = mysql_fetch_array($rs);
if($rst != NULL) @mysql_data_seek($rs, 0);
//Si queremos unicamente leer un campo del primer registro
$data = $rst["FIELDNAME"];
//Si queremos leer todos los registros
while($rst = mysql_fetch_array($rs))
{
$data1 = $rst["FIELDNAME1"];
$data2 = $rst["FIELDNAME2"];
}
$rst = null;
$rs = null;
$conn = null;
?>
Como pueden ver el procedimiento es muy simple, primero incluimos en nuestro archivo php, la configuración de wordpress con la línea include("../../../wp-config.php"); , esto corresponde a tres directorios atrás de la ruta de nuestro tema en php, ejemplo /wp-content/themes/nuestrotema , en la carpeta "nuestrotema" debemos poner el archivo php personalizado que accederá a la base de datos de Wordpress, si cambiamos la ruta, entonces debemos ajustar está línea que menciono a fin de poder encontrar el archivo de configuración.
Posteriormente usaremos la librería para conectar a la base de datos:
include("db.php");
Analizemos el interior del archivo db.php
<?
// este código está basado en http://www.webestilo.com/php/php07c.phtml
/**** CONECTAR A LA BASE DE DATOS ****/
function dbconnect($dbhost, $dbname, $dbusername, $dbpassword)
{
if(!($conn = mysql_connect(trim($dbhost), trim($dbusername), trim($dbpassword))))
{
$connection = null;
echo "Error, no se a podido conectar con la base de datos, revise su configuración...";
exit();
}
else
$connection = $conn;
if(!mysql_select_db(trim($dbname), $conn))
{
$connection = null;
echo "Error, no se a podido seleccionar la base de datos en éste momento, por favor, inténtelo más tarde.";
exit();
}
else
$connection = $conn;
return $connection;
}
/**** CONECTAR A LA BASE DE DATOS ****/
/**** RECUPERAR REGISTROS DE LA BASE DE DATOS ****/
function dbfetch_array($SQL, $connection)
{
return @mysql_query($SQL, $connection);
}
/**** RECUPERAR REGISTROS DE LA BASE DE DATOS ****/
?>
Esta librería una vez establecida la conexión a la base de datos, nos permite poder leer los registros de la misma de un modo sencillo, nos regresa un array con todos los registros, posteriormente ya en nuestro archivo php los leeremos de forma secuencial y los aplicaremos como gustemos.
Espero les sea de mucha utilidad.
Procedencia de las imágenes: |
File: Logo base de datos URL: https://icons8.com/icon/1475/database Licencia: Creative Commons |
¿Te gustó este post?, entonces si lo deseas puedes apoyarnos para continuar con nuestra labor, gracias.
perfecto, ahora ya se el codigo de conexion a base de datos de tipo mysql
ResponderBorrarMuchas gracias por la info Juan! :D
ResponderBorrarUn saludo colega!
Por nada, que bueno que les ha sido de utilidad.
ResponderBorrarEn WP no suelen recomendar que se conecte directamente al MySQL. Eventualmente WordPress podría soportar otro motor de base de datos y el código dejar de funcionar.
ResponderBorrarPara ello, exponen el objeto wpdb: https://codex.wordpress.org/Class_Reference/wpdb