Hola,
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{
$query = $con->exec($this->queryDB); }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 originalWarning
: 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.