Problème de boucle while...
Résolu
globalslyced
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
globalslyced Messages postés 54 Date d'inscription Statut Membre Dernière intervention -
globalslyced Messages postés 54 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train d'utiliser un script de news pour un site, mais je ne comprends pas certains messages d'erreurs.
Je m'explique :
En utilisant la boucle while comme ceci :
_________________________________
<?php
require 'conf.php';
mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données. Réessayez plus tard.</p>');
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
while ($donnees = mysql_fetch_array($retour))
{
?>
<div class="news">
<h3>
<?php echo $donnees['titre']; ?>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;
?>
</p>
</div>
<?php
}
?>
_________________________________
Et voici le message d'erreur qu'il m'affiche :
_________________________________
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/141/sdb/9/e/coldfiction/Manu/Include/news.php on line 6
_________________________________
Je précise également que mon hébergeur est "Free" et que j'utilise "PHPMyAdmin".
Alors si quelqu'un aurait une solution à me proposer afin de régler mon problème ce serait cool :p
Je vous remercie d'avance
Je suis en train d'utiliser un script de news pour un site, mais je ne comprends pas certains messages d'erreurs.
Je m'explique :
En utilisant la boucle while comme ceci :
_________________________________
<?php
require 'conf.php';
mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données. Réessayez plus tard.</p>');
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
while ($donnees = mysql_fetch_array($retour))
{
?>
<div class="news">
<h3>
<?php echo $donnees['titre']; ?>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;
?>
</p>
</div>
<?php
}
?>
_________________________________
Et voici le message d'erreur qu'il m'affiche :
_________________________________
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/141/sdb/9/e/coldfiction/Manu/Include/news.php on line 6
_________________________________
Je précise également que mon hébergeur est "Free" et que j'utilise "PHPMyAdmin".
Alors si quelqu'un aurait une solution à me proposer afin de régler mon problème ce serait cool :p
Je vous remercie d'avance
A voir également:
- Problème de boucle while...
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
3 réponses
$query = "SELECT * FROM news ORDER BY id DESC LIMIT 0, 5";
$retour=mysql_query($query);
// Vérification du résultat
// Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.
if (!$retour) {
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $query;
die($message);
}
while ($row = mysql_fetch_assoc($retour)) {
$retour=mysql_query($query);
// Vérification du résultat
// Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.
if (!$retour) {
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $query;
die($message);
}
while ($row = mysql_fetch_assoc($retour)) {
Bonjour,
Les balises <p></p> n'ont rien à faire dans le die('') vu que le texte entre parenthèse de or die est censé contenir un message d'erreur PHP et non HTML.
L'erreur est signalé en ligne 6, a mon avis tout vient de là: $retour ne contient aucune valeur parce que la ligne de connexion à la base est illégale, le fetch_Array du while ne peut rien faire avec $retour, et bien sûr le message du die() ne s'affiche pas à cause des balises html qui le font planter, et le die n'arrêtes pas le programme bien que la connexion ait échouée.
Vous pouvez essayer die(mysql_error()); pour voir si c'est ça ou non.
Les balises <p></p> n'ont rien à faire dans le die('') vu que le texte entre parenthèse de or die est censé contenir un message d'erreur PHP et non HTML.
L'erreur est signalé en ligne 6, a mon avis tout vient de là: $retour ne contient aucune valeur parce que la ligne de connexion à la base est illégale, le fetch_Array du while ne peut rien faire avec $retour, et bien sûr le message du die() ne s'affiche pas à cause des balises html qui le font planter, et le die n'arrêtes pas le programme bien que la connexion ait échouée.
Vous pouvez essayer die(mysql_error()); pour voir si c'est ça ou non.