Tengo conocimientos básicos sobre PHP y me he decantado por profundizar más con este lenguaje, empezando por la metodología POO.
Haciendo un ejercicio super simple para conectar con la base de datos y realizar una consulta, me ha saltado un fallo. Seguro que es ridículo, pero forma parte de mi inexperiencia. No me enrollo más y pongo el código:
archivo pdoconnect.php. Clase para conectar con la base de datos (aquí todo funciona OK)
Código PHP:
Ver original
<?php class connectBD{ // connect info protected $bdata; protected $user; protected $pass; // construct public function __construct($bd,$us,$pa){ $this->bdata=$bd; $this->user=$us; $this->pass=$pa; try{ $con = new PDO($this->bdata,$this->user,$this->pass); } catch(PDOException $ec) { echo "Error al conectar: ".$ec->getMessage(); } }//end __construct }//end class $conn = new connectBD("mysql:dbname=pruebas;host=localhost","root",""); ?>
El siguiente archivo es pdoexec.php con el código que me tira el fallo:
Código PHP:
Ver original
<?php include("pdoconnect.php"); class execQuery extends connectBD{ protected $queryBD; public function querydatabase($quer){ $this->queryDB=$quer; try{ }catch(PDOException $em){ echo "No se hizo la consulta: ".$em->getMessage(); } }//end function }//end class $exq = new execQuery(); $exq -> querydatabase("SELECT nombre,apellidos FROM datos"); ?>
Y me salta el siguiente error en pantalla (en pdoexec.php):
Código PHP:
Ver original
Warning: Missing argument 1 for connectBD::__construct(), called in C:\xampp\htdocs\phpracticas\pdoexec.php on line 14 and defined in C:\xampp\htdocs\phpracticas\pdoconnect.php on line 8 Warning: Missing argument 2 for connectBD::__construct(), called in C:\xampp\htdocs\phpracticas\pdoexec.php on line 14 and defined in C:\xampp\htdocs\phpracticas\pdoconnect.php on line 8 Warning: Missing argument 3 for connectBD::__construct(), called in C:\xampp\htdocs\phpracticas\pdoexec.php on line 14 and defined in C:\xampp\htdocs\phpracticas\pdoconnect.php on line 8 Notice: Undefined variable: bd in C:\xampp\htdocs\phpracticas\pdoconnect.php on line 9 Notice: Undefined variable: us in C:\xampp\htdocs\phpracticas\pdoconnect.php on line 10 Notice: Undefined variable: pa in C:\xampp\htdocs\phpracticas\pdoconnect.php on line 11 Error al conectar: invalid data source name Notice: Undefined variable: con in C:\xampp\htdocs\phpracticas\pdoexec.php on line 8 Fatal error: Call to a member function exec() on a non-object in C:\xampp\htdocs\phpracticas\pdoexec.php on line 8
Si véis alguna burrada anormal en mi código, por favor sed comprensivos.
Espero vuestra ayuda, gracias por anticipado.