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 :

Erreur de paramètre dans requete SQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut Erreur de paramètre dans requete SQL
    Bonjour,

    Je ne sais pas si je suis sur le bon forum, car j'ai une erreur sur une requete SQL dans un PHP.

    Mon erreur est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mysqli_error() expects exactly 1 parameter, 0 given in ....
    Et je sèche lamentablement.
    J'ai beau regarder la doc et recontrôler mon code je ne vois rien qui pourrai occasionner cette erreur.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $connection = mysqli_connect("localhost","root","pass","base"); 
          $requette = "INSERT INTO table(Z1, Z2, Z3, Z4) Value ('$Z1', '$Z2','$Z3','$Z4')";
          mysqli_query($connection, $requette) or die ('Echec de la requete '.$requette.' : '.mysqli_error());
    Si quelqu'un voit l'erreur qu'il n'hésite pas je cherche depuis des heures.
    Merci à tous

  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
    Le paramètre dont parle l'erreur n'est pas dans la requête mais dans la fonction.
    Visiblement ton mysqli_connect ne fonctionne pas, regarde les erreurs comme indiqué dans l'exemple de la doc :
    http://php.net/manual/fr/mysqli.construct.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour sabotage,

    Apres mon mysqli_connect j'ai rajouté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	  if (!$connection) {
        die('Erreur de connexion (' . mysqli_connect_errno() . ') '
                . mysqli_connect_error());
    } echo 'Succès... ' . mysqli_get_host_info($connection) . "\n";
    Et je n'ai pas d'erreur à ce niveau là j'ai bien "succès..." d'afficher.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour moi le problème est au niveau de l'appel à mysqli_error :
    Citation Envoyé par GYK Voir le message
    Warning: mysqli_error() expects exactly 1 parameter, 0 given in ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqli_query($connection, $requette) or die ('Echec de la requete '.$requette.' : '.mysqli_error());
    Il manque le paramètre $connection :
    Style procédural
    string mysqli_error ( mysqli $link )


    Liste de paramètres ¶

    link : En style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()
    http://fr2.php.net/manual/fr/mysqli.error.php
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour Celira.

    Tu m'a bien aidé et j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqli_error($connection)
    à la place de :
    et là curieusement j'ai eu l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Erreur de syntaxe près de 'XX')' à la ligne 1
    et j'ai pensé à un champ booléen que je renseignais avec la valeur de la variable du formulaire et qui dans certains cas était vide.
    J'ai donc testé la valeur booléenne de cette variable et mis 1 ou 0 selon, et maintenant ça marche.

    Merci à vous deux.

    Bon WE.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/10/2010, 13h16
  2. erreur dans requete sql
    Par Invité dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/03/2010, 19h54
  3. [2.3.0] paramètre dans requete SQL
    Par HelpmeMM dans le forum BIRT
    Réponses: 2
    Dernier message: 29/07/2008, 09h54
  4. erreur dans requete Sql
    Par flOZ dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/05/2006, 02h49
  5. Passage de parametres URL dans requete SQL
    Par Fenryl dans le forum ASP
    Réponses: 4
    Dernier message: 14/12/2005, 13h37

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