sql >> Base de Datos >  >> RDS >> Mysql

Error al conectarse a la base de datos en el servidor alojado

Nota al margen: Suponiendo que las credenciales sean correctas, proporcionadas por su proveedor de alojamiento web.

Hay varios problemas con este código (tomado de un comentario que dejaste).

En primer lugar, tres de sus declaraciones no se citan y se tratan como constantes.

El informe de errores de PHP habría arrojado avisos de constantes no definidas.

Estos se tratan como constantes:

 $username=b31_16461744; 
 $pass=test123; 
 $dbname=b31_16461744_user; 

También está haciendo referencia a la variable incorrecta para que el nombre de usuario sea $user que debería ser $username . El informe de error habría firmado un aviso de variable indefinida.

Entonces estás mezclando mysql_ con mysqli_ sintaxis. Esas diferentes API de MySQL NO se entremezclan. Debe usar el mismo en todo su código.

Nota al margen:la otra pregunta que publicó Acceso denegado para el usuario 'test123'@'192.168.0.38' (usando la contraseña:NO) estás usando sql306.byethost31.com para el anfitrión Asegúrate de que sea correcto. No tengo idea de qué configuración quiere que use el host.

<?php 
     $localhost="localhost"; 
     $username="b31_16461744"; 
     $pass="test123"; 
     $dbname="b31_16461744_user"; 
     $a= mysqli_connect($localhost, $username, $pass); 
     mysqli_select_db($a, $dbname); 
     if($a)
     { 
       echo "connected..";
     } 
     else 
     { 
       echo "not...!!"; 
     }
?>

o simplemente use los cuatro parámetros:

<?php 
     $localhost="localhost"; 
     $username="b31_16461744"; 
     $pass="test123"; 
     $dbname="b31_16461744_user"; 
     $a= mysqli_connect($localhost, $username, $pass, $dbname); 

     if($a)
     { 
       echo "connected..";
     } 
     else 
     { 
       echo "not...!!" . mysqli_error($a); 
     }
?>

Sin embargo, su else con el eco no te sirve. Usa mysqli_error() para obtener el error real.

Es decir:or die("Error " . mysqli_error($a));

Ejemplo del manual

$link = mysqli_connect("myhost","myuser","mypassw","mydb")
        or die("Error " . mysqli_error($link)); 

Referencias:

Agregue informe de errores en la parte superior de su(s) archivo(s), lo que ayudará a encontrar errores.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Nota al margen: La visualización de errores solo debe hacerse en staging, y nunca en producción