Bonjour tout le monde

je suis debutant j'ai un petit problème au niveau de la connexion de la base de données merci de m'aider:

fichier index.php :
<?php

include "classe.php";

include "config.php";

if(isset($_POST'submit'])){

$DB = new DB();

$client = new Client();

$client -> ajoutClient();

}

?>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<body>

<form action="index.php" method="post" >

<input type="submit" name="submit" value="executer">

</form>

</body>

</html>

fichier config.php :

<?php

class DB{

private $PARAM_hote = 'localhost';

private $PARAM_nom_bd = 'eight';

private $PARAM_utilisateur = 'root';

private $PARAM_mot_passe = 'root';

public $db;

public function __construct(){

try {

$this->db = new PDO('mysql:host='.$this->PARAM_hote.';dbname='.$this->PARAM_nom_bd, $this->PARAM_utilisateur, $this->PARAM_mot_passe) );

}

catch ( Exception $e ) {

die("Impossible de se connecter à la base de données : ". $e->getMessage());

}

}

}

fichier classe.php

class Client{

function ajoutClient(){

$query= $DB->db -> exec("INSERT INTO client(nom,prenom) VALUES('fariss','ahmed')");

echo "<script> alert('Ajout avec succes');</script> ";

}

}

4 réponses


Salut,

Est tu sur que ton mot de passe est root ? Car par défaut sous wamp et easyPhp il y en a pas.

non c'est root car je travail sur un mac ,
ça marche si je met une classe connection et initialiser la classe avec un constructeur à l'interieur de la classe client mais c'est pas pratiqu e de mettre a chaque classe un constructeur.
le probleme c'est juste dans cette partie je pense

$query= $DB->db -> exec("INSERT INTO client(nom,prenom) VALUES('fariss','ahmed')");

$DB->db -> exec("INSERT INTO client(nom,prenom) VALUES('fariss','ahmed')");

D'où sors tu ce db ?
Essai ça :

$query = $DB->exec("request");

Bonjour,
Le problème, c'est ta variable $DB. Tu la créé dans ton fichier index.php, mais ton Object Client ne la connait pas lui.