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 :

Impossible d'aller au-delà du 1er enregistrement. [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Points : 118
    Points
    118
    Par défaut Impossible d'aller au-delà du 1er enregistrement.
    La table SecundoNew est classée sur Racine et Sequence. Aucun enregistrement n'est identique.
    J'ai un
    Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in sur le 2ème enregistrement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	$request = "SELECT * FROM Secundo";
    	$result = mysqli_query($link, $request) or 
    						   die ("Modification_02: SELECT * FROM Secundo Impossible" . " > " . mysqli_error());
    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
    elseif (mysqli_num_rows($result) > 0) {							   
    			while ($Rows = mysqli_fetch_assoc($result)) {
    					$Langue_    = $Rows['Langue'];
    					$Racine_    = $Rows['Racine'];
    					$Sequence_  = $Rows['Sequence'];
    					$Mot_ 	    = $Rows['Mot'];
    					$DateHeure_ = $Rows['DateHeure'];	
     
    					if ((substr($Mot_, 4, 1) == "§") or
    						(substr($Mot_, 4, 1) == "{") or
    						(substr($Mot_, 4, 1) == "}")) {
    						$Caractere = substr($Mot_, 4, 1);
    						$Mot_ = substr_replace($Mot_, " ", 4);
    						$Mot_ = substr_replace($Mot_, $Caractere, 6); }			
     
    					$INTO_Valeurs[0] = "( '', '".$Racine_."', '".$Sequence_."', '".$Mot_."', '".$DateHeure_."' )";	
    					$request = "INSERT INTO SecundoNew $INTO_CHamps[0] Values $INTO_Valeurs[0]";
    					$result = mysqli_query($link, $request) or 
    										   die ("Modification_03: INSERT INTO SecundoNew Impossible" . " > " . mysqli_error()); } }
    Impossible d'aller au-delà du 1er enregistrement.

  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
    Comme l'indique clairement l'erreur, la fonction myslqi_fetch_assoc() demande 2 arguments et tu n'en a mis qu'un.
    http://php.net/manual/fr/mysqli-result.fetch-assoc.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Points : 118
    Points
    118
    Par défaut
    Ma connaissance en MySQL me limite dans la compréhension de mon erreur.
    Je lis et relis la doc.
    ? Peux-tu m'en dire plus.

  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
    Je crois que sab' s'est un peu emmêlé dans les messages d'erreurs : mysqli_fetch_assoc a bien besoin d'un seul paramètre comme tu l'as codé.

    Là où tu as un problème, c'est que tu réaffectes $result à l'intérieur de la boucle qui s'en sert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while ($Rows = mysqli_fetch_assoc($result)) {
        // ---		
        $request = "INSERT INTO SecundoNew $INTO_CHamps[0] Values $INTO_Valeurs[0]";
        $result = mysqli_query($link, $request) or  die ("Modification_03: INSERT INTO SecundoNew Impossible" . " > " . mysqli_error()); 
    }
    Au 1er tour de boucle, $result contient le résultat de ton select, puis il devient le résultat de ton insert (un booléen vrai/faux selon le résultat).
    Donc au 2e tour de boucle, tu te retrouves à essayer de boucler sur un booléen, ce qui n'a aucune chance de marcher
    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
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Points : 118
    Points
    118
    Par défaut
    Merci Celira.
    Je le savais mais m'en souvenais plus.

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

Discussions similaires

  1. [Conception] probleme 1er enregistrement
    Par ahmet57 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 28/06/2006, 14h06
  2. Conserver 1er enregistrement trouvé
    Par bleu_ciel dans le forum Access
    Réponses: 4
    Dernier message: 27/05/2006, 20h00
  3. Réponses: 7
    Dernier message: 27/03/2006, 19h50
  4. [SQL] Requête JOIN mais seulement 1er enregistrement ?
    Par tamagotchi dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/03/2006, 12h25
  5. Réponses: 3
    Dernier message: 06/12/2005, 13h44

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