Impossible d'envoyer mes donnée a mysql

Fermé
boubou1375 Messages postés 4 Date d'inscription samedi 4 août 2018 Statut Membre Dernière intervention 10 août 2018 - Modifié le 4 août 2018 à 12:02
jordane45 Messages postés 38279 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 novembre 2024 - 4 août 2018 à 22:17
Bonjour,

je vien vers vous car j'ai un petit souci je recois le message suivant
Fatal error: Call to a member function bind_param(
voici mon code
if (isset($_POST['valider']))  {
  $prenom = $_POST["prenom"] ;
  $adresse = $_POST["adresse"] ;
}

$con = new mysqli('localhost', 'root', 'root', 'conexion' ) ;
if ($con->connect_error) {
    die("Echec de connexion avec mysqli: " . $con->connect_error);
}
$tmpr = $con->prepare("INSERT INTO `information` (prenom,  adresse) VALUES (?, ?)");
$tmpr ->bind_param("ss",$prenom,$adresse);
$tmpr->execute();



je ne vois pas ou et l'erreur car j'ai le meme code sur un autre site il marche tres bien

merci cordialement

EDIT : Correction des balises de code pour avoir la coloration syntaxique (jordane)

3 réponses

yg_be Messages postés 23317 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 novembre 2024 Ambassadeur 1 552
4 août 2018 à 08:53
bonjour, le message d'erreur ne contient-il pas d'autres informations?
0
jordane45 Messages postés 38279 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 novembre 2024 4 697
4 août 2018 à 12:14
Bonjour,

Dans un premier temps il faudrait activer l'affichage des erreurs php.
et également gérer les éventuelles erreurs de requête..

Egalement récupérer proprement les variables avant de le utiliser
(je t'invite à appliquer ce qui est indiqué ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code )

et enfin, ajouter de la gestion d'erreur pour afficher les problèmes éventuels du code et essayer d'avoir des messages d'erreur expliquant la raison du souci.

Par exemple :

<?php
//Au début du script PHP
//activation de l'affichage des erreurs PHP
 error_reporting(E_ALL);
 ini_set('display_errors', TRUE);
 ini_set('display_startup_errors', TRUE);

//connexion à la bdd
 $con = new mysqli('localhost', 'root', 'root', 'conexion' ) ;
 if ($con->connect_error) {
   die("Echec de connexion avec mysqli: " . $con->connect_error);
 }

//récupération PROPRE des variables AVANT de les utiliser
 $prenom = !empty($_POST["prenom"]) ? $_POST["prenom"] : NULL ;
 $adresse =!empty($_POST["adresse"]) ? $_POST["adresse"] : NULL ;

//traitement du submit
 if($nom && $adresse){
   $sql = "INSERT INTO `information` (prenom,  adresse) VALUES (?, ?)";
   if( $tmpr = $con->prepare($sql) ){
     if(!$tmpr->bind_param("ss",$prenom,$adresse)){
        echo "Binding parameters failed: (" . $tmpr->errno . ") " . $tmpr->error;
        exit();
     }
     if(!$tmpr->execute()){
       echo "Execute failed: (" . $tmpr->errno . ") " . $tmpr->error;
       exit();
     }
   }else{
     echo "Erreur dans la requête ".$sql;
     echo "Prepare failed: (" . $con->errno . ") " . $con->error;
     exit();
   }
}
?>



PS: pour poster ton code, merci à l'avenir d'y préciser le LANGAGE afin d'avoir la coloration syntaxique
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code


0
boubou1375 Messages postés 4 Date d'inscription samedi 4 août 2018 Statut Membre Dernière intervention 10 août 2018
Modifié le 4 août 2018 à 21:22
bonjour

allez hop un sujet résolu de plus !

merci cordialement
0
jordane45 Messages postés 38279 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 novembre 2024 4 697
4 août 2018 à 22:17
Dans ce cas clique sur l'icône de roue crantee en haut a droite pour passer le sujet en RÉSOLU.
Bonne soirée
0