Aller au contenu

Erreur PHP


thedeviltogta

Sujets conseillés

Bonjour à tous,

Alors voila j'ai un problème avec mon livre d'or... Je l'ai personnalisé via la feuille de style, sans problème, sans l'avoir encore mis dans mon design.

Seulement voila, lorsque je l'ai integré dans mon design, j'ai eu une erreur :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/html/thedeviltogta/livre/index.php on line 75

Voici les lignes (73 à 78) du fichier concerné (la ligne 75 est en gras) :

$chercher = mysql_query ("SELECT * FROM livre WHERE date!='xx' ORDER BY id DESC LIMIT $PremierMessage,$MessagesParPage");

while ($voir = mysql_fetch_array ($chercher))

{

$time = date('d-m-y', $voir['date']);

$pseudo = $voir['pseudo'];

Je l'ai integré à mon design via une adresse de type indexhtml.php?page=livredor .

J'ai essayé une multitude de choses, sans succès... L'adresse de la page en question : http://thedeviltogta.jupiterii.com/indexht...p?page=livredor

Merci d'avance de votre aide ;)

Thedeviltogta

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Pour les requêtes du type SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_query() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.

Ici, manifestement, tu es en erreur et donc tu as "FALSE" et la fonction mysql_fetch_array n'a pas de 'Ressource' a utiliser.

Essaye de rentrer un premier jeu de test... ou alors il faut améliorer le code pour prendre en compte le cas '0 enregistrements dans la base'

du genre :

if (!$result) {
$message = 'Erreur : ' . mysql_error() . "\n";
die($message);
}

Lien vers le commentaire
Partager sur d’autres sites

Que vaut la valeur $chercher ?

Je reste convaincu que ton erreur est plus haut, dans la construction de ta requete par exemple...

as-tu testé la requete directement dans phpmyadmin?

Lien vers le commentaire
Partager sur d’autres sites

mes lignes 40 à 79 :

<!-- MESSAGES -->
<?
// pour les pages :
/* je regarde si un variable page a ete envoye dans l'url */
if (isset ($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 1;
}

/* je calcule le nombre de messages posté */
$requete = mysql_query ("SELECT COUNT(*) AS nb_messages FROM livre");
$nb_message = mysql_fetch_array ($requete);
$NombreMessage = $nb_message['nb_messages'];


/* Je calclue le nombre de page(s) */
$NombrePage = ceil($NombreMessage / $MessagesParPage);

/* Premier message a afficher */
$PremierMessage = ($page - 1 ) * $MessagesParPage;

/* je fais une bouce pour mes liens */
echo '<div class="lien_page"><a>Page : </a>';
for ($i = 1; $i <= $NombrePage; $i++)
{
echo '<a href="livre/index.php?page='.$i.'"> '.$i.' </a>';
}
echo '<br /><br /></div>';

$chercher = mysql_query ("SELECT * FROM livre WHERE date!='xx' ORDER BY id DESC LIMIT $PremierMessage,$MessagesParPage");

while ($voir = mysql_fetch_array ($chercher))
{
$time = date('d-m-y', $voir['date']);
$pseudo = $voir['pseudo'];

Je n'ai pas testé dans phpmyadmin, mais j'y vais de ce pas :)

Lien vers le commentaire
Partager sur d’autres sites

Il y a deux possibilités :

- comme l'a dit Vincent, une erreur de requête

- mais il peut aussi y avoir un problème de connexion à la base

Tu peux avoir un aperçu de l'erreur en modifiant la ligne de ta requête comme suit :

$chercher = mysql_query ("SELECT * FROM livre WHERE date!='xx' ORDER BY id DESC LIMIT $PremierMessage,$MessagesParPage") or die(mysql_error());

Lien vers le commentaire
Partager sur d’autres sites

Essais également de faire:

echo "SELECT * FROM livre  WHERE date!='xx' ORDER BY id DESC LIMIT ".$PremierMessage.",".$MessagesParPage;

Cela te permettra d'être sûr que ta requête est bien construit.

Modifié par K-Ola
Lien vers le commentaire
Partager sur d’autres sites

bonjour,

essai ce code :

$req = "SELECT * FROM livre  WHERE date!='xx' ORDER BY id DESC LIMIT ".$PremierMessage.",".$MessagesParPage;

$chercher = mysql_query($req);

if (!$chercher) {

die(mysql_error()."<br>".$req);
}

Lien vers le commentaire
Partager sur d’autres sites

Cela voudrait dire que $req est vide...

Si on reprends le début du code de Norseb,

$req = "SELECT * FROM livre WHERE date!='xx' ORDER BY id DESC LIMIT ".$PremierMessage.",".$MessagesParPage;

et ensuite tu mets

echo $req;

Ce n'est pas possible d'avoir $req à vide !!!

Un petit effort quand même...

$req = "SELECT * FROM livre  WHERE date!='xx' ORDER BY id DESC LIMIT ".$PremierMessage.",".$MessagesParPage;
echo $req;

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...