Impossible d'envoyer mes donnée a mysql

boubou1375 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, le message d'erreur ne contient-il pas d'autres informations?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
bonjour

allez hop un sujet résolu de plus !

merci cordialement
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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