Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2015, 11:23
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
PDO server has gona way

Al mudar el sistema de gestión que acabo de hacer a un servidor Xampp, me devuelve el siguiente error al hacer un INSERT INTO

Cita:
Warning: PDO::__construct(): MySQL server has gone away in C:\xampp\htdocs\tiendainformatica\core\connectdb.p hp on line 22

Warning: PDO::__construct(): Error while reading greeting packet. PID=3508 in C:\xampp\htdocs\tiendainformatica\core\connectdb.p hp on line 22

Warning: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2006] MySQL server has gone away' in C:\xampp\htdocs\tiendainformatica\core\connectdb.p hp:22 Stack trace: #0 C:\xampp\htdocs\tiendainformatica\core\connectdb.p hp(22): PDO->__construct('mysql:host=loca...', 'root', '') #1 C:\xampp\htdocs\tiendainformatica\controller\custo mer.php(94): core\ConnectDb->__construct() #2 C:\xampp\htdocs\tiendainformatica\module\home.php( 70): controller\Customer->create(Array) #3 C:\xampp\htdocs\tiendainformatica\controller\modul e.php(17): module\Home->create(Array) #4 C:\xampp\htdocs\tiendainformatica\index.php(42): controller\Module->invoke(Array) #5 {main} thrown in C:\xampp\htdocs\tiendainformatica\core\connectdb.p hp on line 22

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\tiendainformatica\core\connectdb.p hp on line 22
Este es el archivo

Código PHP:
Ver original
  1. <?php
  2.  
  3. /* Connect to MySQL BD */
  4.  
  5. namespace core;
  6.  
  7. class ConnectDb {
  8.     /*
  9.       Datos de conexion
  10.      *      */
  11.  
  12.     private $dsn = 'mysql:host=localhost; port=80; dbname=tiendainformatica; charset=utf8';
  13.     private $username = 'root';
  14.     private $passwd = '';
  15.  
  16.     /*
  17.       objeto de pdo
  18.      *      */
  19.     private $pdo;
  20.  
  21.     public function __construct() {
  22.         //esta es la linea 22//
  23.         $this->pdo = new \PDO($this->dsn, $this->username, $this->passwd);
  24.     }
  25.  
  26.     /*
  27.       Read from DataBase
  28.      *      */
  29.  
  30.     public function read($statement) {
  31.         $result = $this->pdo->prepare($statement);
  32.         $result->execute();
  33.         return $result->fetchAll(\PDO::FETCH_ASSOC);
  34.     }
  35.  
  36.     /*
  37.       Create into DataBase
  38.      *      */
  39.  
  40.     public function create($statement, $input_parameters){
  41.         // statement es la consulta e input_parameters son los argumentos de la consulta
  42.         $prepare = $this->pdo->prepare($statement);
  43.         $prepare->execute($input_parameters);
  44.  
  45.         //sirve para extraer el id de la ultima fila insertada y utilizarlo en otra consulta
  46.         $prepare2 = $this->pdo->prepare('SELECT LAST_INSERT_ID()');
  47.         $prepare2->execute();
  48.         return $prepare2->fetchAll(\PDO::FETCH_ASSOC);
  49.     }
  50.    
  51.     /*
  52.         Update into DataBase
  53.      *      */
  54.    
  55.     public function update($statement, $input_parameters){
  56.         // statement es la consulta e input_parameters son los argumentos de la consulta
  57.         $prepare = $this->pdo->prepare($statement);
  58.         return $prepare->execute($input_parameters);
  59.     }
  60.     /*
  61.         Delete from DataBase
  62.      *      */
  63.     public function delete($statement, $input_parameters){
  64.         $prepare = $this->pdo->prepare($statement);
  65.         return $prepare->execute($input_parameters);
  66.     }
  67.  
  68. }
  69. ?>

Los datos de conexión son correctos y en LAMP todo funciona perfectamente.

¿Alguien puede ayudarme a entender el error y encontrar una solución?
__________________
Ayúdame a hacerlo por mi mismo.