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> ";
}
}
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.