Cita:
Este es el archivoWarning: 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
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
Código PHP:
Ver original
<?php /* Connect to MySQL BD */ namespace core; class ConnectDb { /* Datos de conexion * */ private $dsn = 'mysql:host=localhost; port=80; dbname=tiendainformatica; charset=utf8'; private $username = 'root'; private $passwd = ''; /* objeto de pdo * */ private $pdo; public function __construct() { //esta es la linea 22// $this->pdo = new \PDO($this->dsn, $this->username, $this->passwd); } /* Read from DataBase * */ public function read($statement) { $result = $this->pdo->prepare($statement); $result->execute(); return $result->fetchAll(\PDO::FETCH_ASSOC); } /* Create into DataBase * */ public function create($statement, $input_parameters){ // statement es la consulta e input_parameters son los argumentos de la consulta $prepare = $this->pdo->prepare($statement); $prepare->execute($input_parameters); //sirve para extraer el id de la ultima fila insertada y utilizarlo en otra consulta $prepare2 = $this->pdo->prepare('SELECT LAST_INSERT_ID()'); $prepare2->execute(); return $prepare2->fetchAll(\PDO::FETCH_ASSOC); } /* Update into DataBase * */ public function update($statement, $input_parameters){ // statement es la consulta e input_parameters son los argumentos de la consulta $prepare = $this->pdo->prepare($statement); return $prepare->execute($input_parameters); } /* Delete from DataBase * */ public function delete($statement, $input_parameters){ $prepare = $this->pdo->prepare($statement); return $prepare->execute($input_parameters); } } ?>
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?