IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    profession médicale
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : profession médicale
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Points : 21
    Points
    21
    Par défaut mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt
    voici le code que j'utilise pour insérer les valeurs d'un formulaire dans une BDD avec prepare

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <?php
    $mysqli = new mysqli("127.0.0.1", "root", "", "elevagedubanney");
    if ($mysqli->connect_errno) {
        echo "Echec lors de la connexion à MySQL : " . $mysqli->connect_error;
    }
     
     
    if(isset($_POST['nom'], $_POST['race'], $_POST['pere'], $_POST['mere'],$_POST['peredemere'],$_POST['texte'], $_POST['lienyoutube'], $_POST['MAX_FILE_SIZE'] ))
    {
    echo "";
    }
    else
    {
    	echo "La valeur n'est pas transmise <br/>";
    }
    if ($_FILES['fichier']['size'] > $_POST ['MAX_FILE_SIZE'])
    {
    	echo"fichier trop gros<br/>";
    }
    else
    {
    	echo "taille correcte<br/>";
    }
    $extensions_valides = array( 'jpg' , 'jpeg' );
    $extension_upload = strtolower(  substr(  strrchr($_FILES['fichier']['name'], '.')  ,1)  );
    if ( in_array($extension_upload,$extensions_valides) ) 
    echo "Extension correcte <br/>";
     
    if ($_FILES['fichier']['error'] > 0) 
    {
    	echo"pas de photo<br/>";
    }
     
    $dir= '../Photos_galerie';
    $nom = $_FILES['fichier']['name'];
     $res = move_uploaded_file($_FILES['fichier']['tmp_name'], "$dir/$nom");
     
     
    $sql="INSERT INTO chevaux_a_vendre (nom,race,pere,mere,pere_de_mere,texte,photo, lien_youtube)VALUES (?,?,?,?,?,?,?,?)";
    $resultat = mysqli_prepare($mysqli,$sql);
    $ok = mysqli_stmt_bind_param($resultat,'ssssssss',$nom,$race,$pere,$mere,$pere_de_mere,$texte,$photo,$lien_youtube);
    $nom= $_POST['nom'];
    $pere=$_POST['pere'];
    $mere=$_POST['mere'];
    $pere_de_mere=$_POST['peredemere'];
    $texte= $_POST['texte'];
    $photo=$_FILES['fichier'];
    $lien_youtube=$_POST['lienyoutube'];
    $ok = mysqli_stmt_execute($resultat);
     
    if($ok==FALSE)
    {
    	echo"echec de l'insertion";
    }
    else
    {
    	echo"insertion réussie";
    }
     
     
    ?>
    j'ai en retour l'erreur:
    mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, boolean given in <b>K:\EasyPHP-Devserver-16.1\eds-www\Test_php\Pages\inserechevalavendre.php</b> on line <b>46</b>
    je m'arrache les cheveux, je ne comprends pas, pourtant avant de poster, j'ai fait toutes les vérifications possibles,
    merci pour votre aide,
    cordialement,

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    j'ai fait toutes les vérifications possibles,
    tu as contrôlé ce que valait $resultat ?
    tu as affiché les erreurs mysqli ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    profession médicale
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : profession médicale
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    j'ai ajouté au code un echo pour $resultat qui ne renvoie rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    <?php
    $mysqli = new mysqli("127.0.0.1", "root", "", "elevagedubanney");
    if ($mysqli->connect_errno) {
        echo "Echec lors de la connexion à MySQL : " . $mysqli->connect_error;
    }
     
     
    if(isset($_POST['nom'], $_POST['race'], $_POST['pere'], $_POST['mere'],$_POST['peredemere'],$_POST['texte'], $_POST['lienyoutube'], $_POST['MAX_FILE_SIZE'] ))
    {
    echo "";
    }
    else
    {
    	echo "La valeur n'est pas transmise <br/>";
    }
    if ($_FILES['fichier']['size'] > $_POST ['MAX_FILE_SIZE'])
    {
    	echo"fichier trop gros<br/>";
    }
    else
    {
    	echo "taille correcte<br/>";
    }
    $extensions_valides = array( 'jpg' , 'jpeg' );
    $extension_upload = strtolower(  substr(  strrchr($_FILES['fichier']['name'], '.')  ,1)  );
    if ( in_array($extension_upload,$extensions_valides) ) 
    echo "Extension correcte <br/>";
     
    if ($_FILES['fichier']['error'] > 0) 
    {
    	echo"pas de photo<br/>";
    }
     
    $dir= '../Photos_galerie';
    $nom = $_FILES['fichier']['name'];
     $res = move_uploaded_file($_FILES['fichier']['tmp_name'], "$dir/$nom");
     
     
    $sql="INSERT INTO chevaux_a_vendre (nom,race,pere,mere,pere_de_mere,texte,photo, lien_youtube)VALUES (?,?,?,?,?,?,?,?)";
    $resultat = mysqli_prepare($mysqli,$sql);
    if($resultat)
    {
    echo $resultat;
    }
    $ok = mysqli_stmt_bind_param($resultat,'ssssssss',$nom,$race,$pere,$mere,$pere_de_mere,$texte,$photo,$lien_youtube);
    $nom= $_POST['nom'];
    $pere=$_POST['pere'];
    $mere=$_POST['mere'];
    $pere_de_mere=$_POST['peredemere'];
    $texte= $_POST['texte'];
    $photo=$_FILES['fichier'];
    $lien_youtube=$_POST['lienyoutube'];
    $ok = mysqli_stmt_execute($resultat);
     
    if($ok==FALSE)
    {
    	echo"echec de l'insertion";
    }
    else
    {
    	echo"insertion réussie";
    }
     
     
    ?>
    comment vérifier les erreurs mysqli ?

    merci en attendant, je te fais bosser un dimanche...

  4. #4
    Membre à l'essai
    Homme Profil pro
    profession médicale
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : profession médicale
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Points : 21
    Points
    21
    Par défaut je suis un idiot
    pour que personne ne fasse un AVC en réfléchissant à mon problème,
    j'ai trouvé la solution:
    la table ne contenait pas la colonne "race"
    vérifié 4 fois,mais comme toujours quand on a le nez dessus...

    en tout cas, merci
    je cloture

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 39
    Dernier message: 03/02/2016, 08h55
  2. Inscription d'un champ dans une bdd
    Par Jeecer dans le forum C#
    Réponses: 14
    Dernier message: 06/10/2011, 17h12
  3. modifier des lignes dans une bdd qui est la meme
    Par flash22 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 29/03/2011, 14h14
  4. Réponses: 8
    Dernier message: 04/07/2007, 12h51
  5. Changements de colonnes dans une BDD MySQL
    Par arnaud_verlaine dans le forum Requêtes
    Réponses: 8
    Dernier message: 07/08/2003, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo