Erreur "Notice: Array to string conversion in..." [Résolu/Fermé]

Signaler
Messages postés
55
Date d'inscription
mardi 17 juillet 2012
Statut
Membre
Dernière intervention
13 septembre 2016
-
Messages postés
55
Date d'inscription
mardi 17 juillet 2012
Statut
Membre
Dernière intervention
13 septembre 2016
-
Bonsoir,
J'ai un souci pour récupérer un ID. Je récupère un numéro de bac avec l'envoi d'un formulaire. Avec ce n° je veux récupérer l'ID correspondant dans ma bdd : impossible.
Je vous soumets mon code :

if (!empty($_POST["numBac"]) ...
{
$numBac = $_POST['numBac']; ...
}
$query = parcoursRS(SQLSelect("
    	SELECT ID_bac
    	FROM BAC 
    	WHERE numBac = '" . $numBac . "'
     "));      
    foreach ($query as $data);
    
    echo $data;


Rien ne s'affiche avec echo et j'ai l'erreur "Notice: Array to string conversion in...".

PS : parcoursRS(SQLSelect... est l'appel d'une fonction qui est dans un fichier à part.

Merci par avance si quelqu'un pouvait m'aider, surtout un samedi soir tard !
Evelyne

5 réponses

Messages postés
1769
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
239
Bonjour,
Déjà pas sûr qu'on puisse faire
  foreach ($query as $data);
    echo $data;

mais plutôt
  foreach($query as $data)
    echo $data;

Sinon on n'a pas la définition de tes fonctions ainsi que le form.
Met l'erreur entière si tu peux.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
55
Date d'inscription
mardi 17 juillet 2012
Statut
Membre
Dernière intervention
13 septembre 2016
5
Bonsoir gardiendelanuit,

Je te remercie pour ta réponse. Après bien des recherches et des essais, il suffit d'ajouter, dans le foreach, [0] à $query pour préciser qu'il s'agit d'un tableau, de plus d'un tableau à un seul élément, d'où le 0.
Je donne le code corrigé pour que cela puisse servir à d'autres :

foreach ($query[0] as $data);


Par contre si j'enlève le ; final j'ai le message d'erreur suivant :
Parse error: syntax error, unexpected '}' in ...on line 42

et la ligne 42 est juste en-dessous et ferme une condition if.
Je ne cherche pas plus loin, j'ai remis les ;

Trop contente d'avoir résulu ce problème, je mets ce post en résolu. Je te remercie à nouveau et te souhaite une super soirée,
Evelyne
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
55
Date d'inscription
mardi 17 juillet 2012
Statut
Membre
Dernière intervention
13 septembre 2016
5
Bonjour gardiendelanuit,
Je te remercie pour cette réponse matinale. Quelle étourderie ! Des fois on fatigue.
Je regarde tout à l'heure si le problème vient de là. Si oui je mettrai en résolu.
Sinon je reposterais en mettant plus de code.
A + et très bonne journée,
Evelyne
Messages postés
55
Date d'inscription
mardi 17 juillet 2012
Statut
Membre
Dernière intervention
13 septembre 2016
5
Bonsoir,
J'ai rectifié mon code et enlevé les ";" : pas d'amélioration.
Il y a un conflit entre un array et un string mais je ne suis pas assez compétente pour voir d'où cela vient.
Je me permets de vous soumettre le code de la fonction utilisée (parcoursRS, combinée à un SQLSelect classique), si quelqu'un avait une piste à m'indiquer ce serait super car je perds un temps fou. Je précise que j'utilise ces fonctions depuis longtemps et tout se passe bien, c'est la 1ère fois que j'ai un souci ???
Un grand merci par avance et très bonne soirée,
Evelyne

* Parcours les enregistrements d'un résultat mysql et les renvoie sous forme de tableau associatif
 * On peut ensuite l'afficher avec la fonction print_r, ou le parcourir avec foreach
 * @param resultat_Mysql $result
 */
function parcoursRs($result) {
    if ($result == false)
        return array();

    while ($ligne = mysql_fetch_assoc($result))
        $tab[] = $ligne;

    return $tab;
}
Messages postés
1769
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
239
Essai un print_r de ton $data.