Echa un vistazo a https://codex.wordpress.org/Class_Reference/wpdb
Y comprueba si te conecta usando
$conn = new wpdb ($dbServerName, $dbUsername, $dbPassword, $dbName);
En algunos ejemplos me he encontrado con que el orden de las variables sería el siguiente:
DB_USER, DB_PASSWORD, DB_NAME, DB_HOST
Mira en Code Reference.
-
Esta respuesta fue modificada hace 4 años, 9 meses por almendron.
Hola almendron máquina!!! Pues mira, he probado de las 2 maneras que me has dicho. Y en una de ellas has dado en el clavo!!!
Cambiando el orden de los datos de acceso no ha funcionado.
Pero cambiando el tipo de objeto a wpdb como me propones en la nueva línea de código ha funcionado a la perfección!!
El código correcto entonces sería el siguiente (para el que lo pueda necesitar):
<?php
$dbServerName = "db4free.net";
$dbUsername = "usuario";
$dbPassword = "contraseña";
$dbName = "nombrebasededatos";
// create connection
$conn = new wpdb ($dbServerName, $dbUsername, $dbPassword, $dbName);
// check connection
if ($conn->connect_error) {
die("Conexión fallida: " . $conn->connect_error);
}
echo "Ehorabuena!!! Has conectado con la base de datos correctamente.";
?>
De verdad almendron que te estoy muy agradecido!! Que haríamos los usuarios sin gente que tiene buena voluntad de ayudar. Me había vuelto loco haciendo pruebas y nada. Gracias a esto podré hacer los accesos a la base de datos para extraer los datos de tablas que necesito y para rellenar etiquetas.
Un gran saludo!!
-
Esta respuesta fue modificada hace 4 años, 9 meses por bigdatadestroy.
Hola a todos!
Gracias por compartir! estoy luchando por hacer también unas consultas a una base de datos externa alojada en google bigquery y no tenia ni idea por donde empezar.
Gracias por compartir el código, es un punto de partida.
Hola chicos! Perdonad que reabra el tema de nuevo, pero es que llevo varios dias intentando extraer datos de las tablas en la base de datos y no puedo hacerlo 🙁
La conexión a la base de datos como tal, se realizaba….hasta ahí todo correcto.
El problema es que después, tengo que hacer una consulta a una de las 3 tablas que tiene mi base de datos y imprimir el resultado en pantalla, pero no consigo que se imprima nada. He probado de 1.000 maneras diferentes pero nada. No se si es que tengo que agregar algo a algún archivo de configuración de wordpress para que me permita hacer la conexión externa o algo que estoy haciendo mal.
Pongo aquí el código que sumo al anterior codigo de este tema -que es el que realizaba la conexión a la database-, para que miréis por favor si es que tengo algo mal o hay que hacerlo diferente.
// Hacemos la consulta en la tabla y mostramos resultados
$my_table = 'intereses';
$query = "SELECT * FROM $mi_tabla";
$content = $conn->get_results( $query );
if ( count($content) > 0 ) {
foreach ( $content as $row ) {
echo $row->info;
}
}
Mi base de datos tiene 3 tablas (intereses,cobrado y invertido), como veis en el codigo yo hago la consulta sobre la tabla intereses, y después intento mostrar el resultado con un foreach. Pero no muestra absolutamente nada.
Como siempre gracias por adelantado.
-
Esta respuesta fue modificada hace 4 años, 9 meses por bigdatadestroy.
-
Esta respuesta fue modificada hace 4 años, 9 meses por bigdatadestroy.
-
Esta respuesta fue modificada hace 4 años, 9 meses por bigdatadestroy.
Me estoy volviendo tarumba!! creo que al final la pagina la haré desde otro editor, porque en wordpress tienes que adaptar un codigo que debería funcionar por ser en php sin tener que adaptar nada.
Bueno, al final no quiero abandonar todo el trabajo que ya he hecho en la plataforma wordpress que estoy preparando. Almendron, miré lo que me habías mandado, y rectifiqué cosas, pero sigue sin funcionar. Paso el codigo que tengo ahora. Están los datos de la base de datos, pero como es una base de datos de prueba me da igual que se vean los datos, por si quereis hacer alguna prueba con el codigo. Supuestamente debería funcionar así, incluso en algunas webs dicen que funciona, pero aquí no funciona. Incluso he creado un shortcode dentro del functions.php para ver si el problema era el plugin que utilizo para meter php dentro de las paginas, pero tampoco ahí ha funcionado.
<?php
global $wpdb;
$mydb = new wpdb( 'vargame_42', 'eurovegas42', 'vargame_42','db4free.net' ) or die("Error en la conexion");
$mydb->show_errors();
$consulta= $mydb->query("SELECT interes,mes FROM intereses") or die("Error en la consulta");
foreach( $consulta as $results ) {
echo $results->interes;
echo $results->mes;
}
?>
A ver si alguien lo hace funcionar, porque tengo que obtener información de la base de datos para pasarlo a campos en las paginas de wordpress y no puedo hacerlo sino consigo conectar con la sql externa.
La base de datos contiene datos y la consulta funciona si la hago solo en php con mysqli_connect, lo he probado. Pero aquí en WordPress nada.
-
Esta respuesta fue modificada hace 4 años, 9 meses por bigdatadestroy.