Je me suis aventurée dans la POO en PHP, j'ai donc créer des classes pour gérer les bdd, mais je viens de me rendre compte que lorsque je récupère des données il me les envoie en deux fois cet-à dire qu'au lieu de faire un array
array(2) { ["id"]=> string(1) "1" ["page"]=> string(7) "accueil" }
il va me faire :
array(4) {["id"]=>string(1)"1" [0]=>string(1)"1" ["page"]=> string(7) "accueil" [1]=> string(7) "accueil"}
Il double le nombre de données je ne comprend pas pourquoi voici le code :
class db
{
public static function query($req)
{
$db = dbconnect::getdb();
$q = $db->query($req);
$donnees = $q->fetch();
$reponse[] = $donnees;
return $donnees;
}
}
Et voici le fichier qui appel
$req = "SELECT * FROM page WHERE page='accueil'";
$donnees = db::query($req);
Voici la classe dbconnect:
class dbconnect
{
private static function setdb()
{
//== Récupération des données dans un fichier texte ==
$data = data::get('sql.txt');
//== Transformation du tableau en plusieurs variables
$dbhost = trim($data[0]);
$dbname = rtrim($data[1]);
$dbid = rtrim($data[2]);
$dbmdp = rtrim($data[3]);
//== Assemblage requete de connexion à la base de données ==
$req = 'mysql:host='.$dbhost.';dbname='.$dbname;
//== Procédure de connexion à la base de données ==
try
{
$db = new PDO($req,$dbid,$dbmdp);
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
//== Renvoie de la variable $db ==
return $db;
}
public static function getdb()
{
//== Appel fonction statique de connexion à la db
$db = self::setdb();
//== Renvoie de $db
return $db;
}
}
Merci de votre aide