Comprobar conexión a base de datos MySQL con PHP – PDO

publicado por: Anonymous

Tengo en mi sitio una base de datos con los usuarios y sus contraseñas para poder ingresar a la página. La base de datos está bien, lo mismo la página de logeo, funcionaban bien sin problema. Hasta hace unos días, sin razón aparente, dejó de funcionar. Este es el código que utilizaba para conectarme:

<?php

class conexion {

  public static function conectar ()
  {
    try {

      $cn = new PDO("mysql:host=localhost:3306;dbname=misitio_bdatos","miusuario","qaz123");

      return $cn;

    } catch (PDOException $ex) {
      die($ex->getMessage() );
    }

  }

}    //sin etiqueta de cierre por ser parte de un require

Entonces decidí comprobar si realmente esos datos estaban bien, con el siguiente código que encontré en internet y nombré como comprobar.php

<?php
    function Conectarse()
    {
    $host='localhost:3306';
    $usuariodb='miusuario';
    $passwdb='qaz123';
    $nombredb='misitio_bdatos';

    if (!($link=mysql_connect($host,$usuariodb,$passwdb)))
    {
    echo "Error conectando a la base de datos.";
    exit();
    }
    if (!mysql_select_db($nombredb,$link))
    {
    echo "Error seleccionando la base de datos, verifique que el nombre de usuario utilizado este asociado a la base de datos.";
    exit();
    }
    return $link;
    }

    $link=Conectarse();
    echo "Conexión con la base de datos conseguida.
    ";
    mysql_close($link); //cierra la conexion
    ?>

Pero cuando voy a ese archivo en misitio.com/comprobar.php me muestra el mensaje

The resource you are looking for has been removed, had its name
changed, or is temporarily unavailable.

¿Cómo puedo comprobar que realmente esta conexión se esté haciendo de forma correcta?

Estoy trabajando con PDO para validar los inicios de sesión.

Muchas gracias 🙂

solución

Si estas trabajando con PDO puede probar esta conexión

<?php
   class conexion {
      private $host = "nombre HOST";
      private $user = "usuario";
      private $pass = "password";
      private $database = "nombre de la base de datos";

      //database handler
      private $dbh;
      //statement
      private $stmt;
      //errores
      private $error;

      public static function conectar() {
         //configurar la conexión
         $dsn = "mysql:host=".$this->host.";dbname=".$this->database;
         //opciones que se agregaran a la conexion mysql
         //PDO::ATTR_PERSISTENT - la conexion con pdo será persistente, optimizara los recursos del servidor

         $options = array(
            PDO::ATTR_PERSISTENT => true,
            PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION
         );

         //creamos una instancia de PDO
         //lo insertamos en una excepcion
         try{

            $this->dbh = new PDO($dsn,$this->user,$this->pass,$options);
            //con la siguiente instrucción controlamos el return de caracteres extraños que no puede interpretar la db
            $this->dbh->exec('set names '.UTF8);
            echo "Conexion realizada con exito";
         }catch(PDOException $e){
             $this->error = $e->getMessage();
             echo "Excepcion: ".$this->error;
         }
      } 
   }

?>
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *