server-room-3d-illustration-with-node-base-programming-data-design-element (1)

Bases de Datos en WordPress con PHP

Últimamente, todas las webs empiezan y necesitan trabajar con Bases de Datos. A día de hoy, poder crearse un portal te relaciona en concreto con WordPress. Además, php es un lenguaje singular y muy útil a la hora de programar en la parte de FrontEnd. Combinando las tres cosas, se puede sacar algo bastante útil y necesario a la hora de trabajar con los datos en tu propio sitio web. Así que en esta publicación, voy a explicaros como usar Bases de Datos en WordPress con PHP.

Pasos a realizar para añadir bases de datos en WordPress con PHP

Lo primero, es hacer una llamada a los ficheros wp-config.php y wp-load.php. Esta llamada sería conveniente usarla entre las etiquetas <head> y </head>.

<?php

require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-config.php'); require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-load.php'); ?>

Luego, cuando llegamos a la parte donde queremos empezar a trabajar con una tabla de esa base de datos, añadimos la llamada a la SQL y la incluimos dentro de una variable PHP.

<?php

global $wpdb; $query_datos_top = 'SELECT * FROM tabla WHERE campo > 0 ORDER BY campo ASC;'; $results = $wpdb->get_results($query_datos_top); ?>

Aprovechamos también de que si en alguna página, pasamos una variable por la url, podemos recogerla y añadirla a la consulta.

<?php

$id = $_GET['id']; global $wpdb; $query_datos_top = 'SELECT * FROM tabla WHERE id IN ('.$id.') ORDER BY campo ASC;'; $results = $wpdb->get_results($query_datos_top); ?>

Por último, pasamos a la carga de la base de datos en WordPress con PHP. Los comandos que necesitaremos para poder recoger todos los datos de esta serán los siguientes:

<?php

$results = $wpdb->get_results($query_datos_top); if (!$results) { echo "Aqui no hay nada"; } else { foreach ( $results as $fila ) : $id= $fila->id; $nombre= $fila->nombre; echo 'La fila número '.$id.' tiene el valor '.$nombre; endforeach; } ?>

Esto recogerá la consulta. Si no recoge nada, imprimirá una frase que ponga "Aquí no hay nada". Sin embargo, al obtener un valor, creará un for each y recogerá todas las filas que obtenga, e irá una por una recogiendo los valores que pasamos en las variables. Por lo tanto, imprimirá en nuestra pantalla tantas frases como valores recogidos, con distinto id y distinto nombre, el correspondiente de cada fila. También, podréis incorporar código HTML dentro de los echo si queréis maquetar los resultados.

De esta forma, es como incorporamos Bases de Datos en WordPress con PHP. Espero que os haya sido útil, cualquier duda podéis añadirla en los comentarios.

bigdump-pc (1)

BigDump: Importa tus bases de datos pesadas

A la hora de importar grandes archivos SQL con muchas tablas e inserciones de registro, suele dar algo de conflicto a la hora de incorporarlos, teniendo que modificar parametros de php.ini como upload_max_filesizememory_limit o el post_max_size. También puedes probar en utilizar programas que puedan cargar la base de datos como HeidiSQL o Workbench. Sin embargo, descubri BigDump como opción viable para trabajar con bases de datos grandes, e interesante para hablaros de él.

¿Que es BigDump?

BigDump es un fichero que funciona como importador de base de datos que lee todo tipo de inserciones, tanto generar tablas como insertar, actualizar y borrar registros. Este documento necesita que modifiques varias lineas para que cargue bien.

¿Que parámetros hay que cambiar?

Al principio, necesitarás añadir la configuración de la base de datos a la que quierás cargar los datos:

  • $db_server = "localhost"; (Nombre del Servidor)
  • $db_name = "database"; (Nombre de la Base de Datos)
  • $db_username = "user"; (Usuario)
  • $db_password = "password"; (Contraseña)

Luego, para indicar el fichero que quieres cargar debes de modificar:

  • $filename = "fichero.sql"; (Nombre del fichero)

Por último, puedes modificar el número de líneas que puedes importar. Si el fichero es grande y tiene 35.000 líneas, lo que debes de modificar es lo siguiente:

  • $linespersession = 35000; (Número de líneas)
  • $max_query_lines = 35000; (Máximo número de líneas)

Por último, este fichero lo colocáis dentro del servidor, aconsejablemente crear una carpeta donde añadir tanto este fichero como los archivos SQL que queraís importar (/db/("ficheros")).

Una vez hecho esto, puedes arrancar el fichero desde "Dirección web/db/bigdump.php" y este cargará el fichero de manera web.

Verás que tienes un enlace para arrancar el importador y una vez puesto en marcha, solo pueden pasar 2 cosas.

  1. Cargue la sql todo por completo y sin problemas.
  2. Salte algún tipo de error, lo que mostrará el motivo del error en la última línea.
    1. Si falla porque hay un campo desconocido, siempre puedes ir a la tabla origen y crear el nuevo campo o borrarlo de tu SQL.
    2. Si falla porque hay una clave primaría duplicada, quizás sea porque haya generado tu base de datos origen una clave primaria repetida, una de ellas pueda estar unida a otra columna conjuntamente.

Cualquier error que surja o aportación que puedas ofrecer, puedes comentármelo en los comentarios

3095 (1)

Migrar WordPress y PrestaShop a otro servidor

Trabajando con WordPress y Prestashop constantemente, muchas veces he tenido que migrar webs de servidor a servidor. Ya sea para cambiarlo a otro hosting como para hacer pruebas en local, tu web necesita una migración para poder realizar el cambio.

La migración en Prestashop como en WordPress no se realiza de la misma forma. Ambos CMS tiene su forma de crear la migración de distinta forma y te la voy a explicar a continuación.

Migrar con WordPress

Por empezar, deberás de gestionar tanto una copia de seguridad de toda tu web como de la base de datos. Si es la primera copia, quizás es más recomendable crear la copia de todo. Para WordPress tenemos la suerte de que con copiar la carpeta wp-content y los ficheros externos es suficiente. Sin embargo, si creaste más carpetas en el directorio raíz, también deberás de copiarlas.

Con la base de datos es simple, puedes ir al panel de phpMyAdmin y una vez dentro, hacer la exportación.

Importamos la base de datos en el nuevo servidor y cambiamos los siguientes valores:

  • En la tabla de wp_options, habría que cambiar la siteurl y la home por los dominios actuales.

Importamos todos los archivos en la web vía FTP, y una vez hecho, vamos al fichero wp-config y modificamos:

  • Base de Datos: define('DB_NAME', '[NOMBRE_BASE_DATOS]')
  • Usuario: define('DB_USER', '[NOMBRE_USUARIO_BASE_DATOS]')
  • Contraseña: define('DB_PASSWORD', '[CONTRASEÑA_USUARIO_BASE_DATOS]')

Con esto, terminas la migración en WordPress.

Migrar con PrestaShop

PrestaShop, para el tema de crear la copia de seguridad es similar a WordPress, salvo que aquí lo mejor si que es copiar toda la tienda. Cuando exportas la tienda en el nuevo hosting, hay que hacer los siguientes cambios.

  • En la tabla ps_shop_url de la base de datos:
    • domain y domain_ssl: nombre del dominio (sin el "http://")
    • physical_uri: incluir donde esta el directorio (de normal suele estar en raiz "/". Si esta dentro de alguna carpeta "/carpeta/". Nunca olvidarse de la contrabarra del final.)
  • Cambiar el contenido del fichero de configuración:
    • Para PrestaShop 1.6, el fichero de configuración esta en /config/settings.inc.php
      • Base de Datos: define('_DB_NAME_', '[NOMBRE_BASE_DATOS]')
      • Usuario: define('_DB_USER_', '[NOMBRE_USUARIO_BASE_DATOS]')
      • Contraseña: define('_DB_PASSWD_', '[CONTRASEÑA_USUARIO_BASE_DATOS]')
    • Para PrestaShop 1.7, el fichero de configuración esta en /app/config/parameters.php
      • Base de Datos: 'database_name' => '[NOMBRE_BASE_DATOS]',
      • Usuario: 'database_name' => '[NOMBRE_USUARIO_BASE_DATOS]',
      • Contraseña: 'database_name' => '[CONTRASEÑA_USUARIO_BASE_DATOS]',

Si al cumplir todos estos pasos, te hace algún redireccionamiento, debes hacer lo siguiente:

  1. Ir al panel de Administración de tu tienda
  2. Acceder a Parametros de Tienda > Tráfico y SEO [o SEO y URL]
  3. Ir a la sección de Establecer URL de la tienda y configurarlo tal como lo pusiste en la tabla ps_shop_url y guardar
    1. En el caso de que estén igual, simplemente, dale a guardar en ese apartado.
  4. Ir al apartado de Parametros Avanzados > Rendimiento
  5. Darle a borrar caché

Y con esto, terminas con la migración de PrestaShop.

Espero que te haya sido útil, cualquier duda o aportación que quieras hacer, no dudes en dejármela en los comentarios.

Copyright © 2022 All Rights Reserved