Erreur 'prepare' et 'execute' avec MYSQLI
SevenDareK
Messages postés
18
Statut
Membre
-
HikariNoKage_ Messages postés 1 Statut Membre -
HikariNoKage_ Messages postés 1 Statut Membre -
Bonjour,
Je suis entrain d'essayer d'apprendre a faire un espace membre et pour cela j'ai utilisé ce code :
et le fichier de connexion a la base de données :
mais quand je rempli mon formulaire html, PHP m'indique une erreur :
Fatal error: Call to a member function execute() on a non-object in .....
Je vous remercie de votre aide par avance,
Cordialement.
Je suis entrain d'essayer d'apprendre a faire un espace membre et pour cela j'ai utilisé ce code :
include ('inc/config.php');
if ($_POST) {
$nom = htmlspecialchars($_POST['nom'], ENT_QUOTES) ;
$prenom = htmlspecialchars($_POST['prenom'], ENT_QUOTES) ;
$pseudo = htmlspecialchars($_POST['pseudo'], ENT_QUOTES) ;
$email = htmlspecialchars($_POST['email'], ENT_QUOTES) ;
$password = md5($_POST['password']);
$session = md5(rand());
$addMembre = $dbb->prepare('INSERT INTO users SET nom=:nom, prenom=:prenom, pseudo=:pseudo, passe=:passe, email=:email, session=:session');
$addMembre->execute(array(
'nom' => $nom,
'prenom' => $prenom,
'pseudo' => $pseudo,
'email' => $email,
'passe' => $password,
'session' => $session
));
}
et le fichier de connexion a la base de données :
<?php
$host = 'localhost';
$user = 'root';
$password = null;
$db = 'membre';
$dbb = mysqli_connect($host,$user,$password,$db) or die("Error " . mysqli_error($dbb));
?>
mais quand je rempli mon formulaire html, PHP m'indique une erreur :
Fatal error: Call to a member function execute() on a non-object in .....
Je vous remercie de votre aide par avance,
Cordialement.
A voir également:
- Erreur 'prepare' et 'execute' avec MYSQLI
- Erreur upes 1025 - Forum Téléviseurs
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Un agent immobilier a préparé un diaporama pour présenter une maison à vendre. appliquez la mise en forme de la première diapositive à toutes les autres. quel est le code du portail ? ✓ - Forum Powerpoint
- Erreur 0x80070643 - Accueil - Windows
1 réponse
Bonjour,
Il y a plusieurs erreurs dans votre code pouvant provoquer ce message.
Tout d'abord, votre requête SQL est incorrecte donc la méthode prepare renvoie false d'où l'erreur obtenue (false n'étant pas un objet).
Une requête INSERT est faite de la façon suivante :
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
Ensuite, il semble que vous ayez fait un mixe entre mysqli et PDO. Avec PDO vous pouvez faire ":nom" pour nommer votre variable mais la syntaxe mysqli accepte seulement le "?". Vous devez également utiliser la méthode "bind_param" pour lier vos variables.
Je vous renvoie sur la doc PHP pour plus d'infos sur le fonctionnement de mysqli (vous trouverez également des exemples d'implémentation).
https://www.php.net/manual/fr/mysqli.prepare.php
Cordialement
Il y a plusieurs erreurs dans votre code pouvant provoquer ce message.
Tout d'abord, votre requête SQL est incorrecte donc la méthode prepare renvoie false d'où l'erreur obtenue (false n'étant pas un objet).
Une requête INSERT est faite de la façon suivante :
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
Ensuite, il semble que vous ayez fait un mixe entre mysqli et PDO. Avec PDO vous pouvez faire ":nom" pour nommer votre variable mais la syntaxe mysqli accepte seulement le "?". Vous devez également utiliser la méthode "bind_param" pour lier vos variables.
Je vous renvoie sur la doc PHP pour plus d'infos sur le fonctionnement de mysqli (vous trouverez également des exemples d'implémentation).
https://www.php.net/manual/fr/mysqli.prepare.php
Cordialement