Probleme php erreur boolean

Julian_Assange Messages postés 450 Date d'inscription   Statut Membre Dernière intervention   -  
Julian_Assange Messages postés 450 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un petit souci, j'ai un morceau de code que j'ai recupéré sur le net qui fonctionnait trés bien jusqu'ici avec une requete plus simple mais j'ai voulu corser un peu et la boucle (les deux dernieres lignes) me sortent un :


Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/bernayinfo/www/includes/boite.php on line 35

<?php
$messagesParPage=50;

$retour_total=mysql_query("SELECT COUNT(*) AS id FROM mp WHERE (dest = '".$at."') AND (lu = '1')" );
$donnees_total=mysql_fetch_assoc($retour_total);
$total=$donnees_total['id'];

$nombreDePages=ceil($total/$messagesParPage);

if(isset($_GET['page']))
{
$pageActuelle=intval($_GET['page']);

if($pageActuelle>$nombreDePages)
{
$pageActuelle=$nombreDePages;
}
}
else // Sinon
{
$pageActuelle=1; // La page actuelle est la n°1
}

$premiereEntree=($pageActuelle-1)*$messagesParPage;
?>
<?php
$actu2 = mysql_query("SELECT * FROM mp WHERE (dest = '".$at."') AND (lu = '1') ORDER BY id DESC limit '".$premiereEntree."', '".$messagesParPage."'");
while ($actu = mysql_fetch_array($actu2))
{
?>



Meric d'avance à celui qui trouvera l'erreur :/

5 réponses

codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   123
 
bonsoir,

La premiere erreur c'est d'utiliser encore mysql_query qui n'est plus utiliser par soucis de sécurité.

Maintenant beaucoup de gens utilise PDO, moi je prefere mysqli

c'est bête pour quelqu'un qui soutient WikiLeaks
0
codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   123
 
L'erreur vient de la requête sql, pour vérifier tu peut afficher la requête dans la page et copier coller pour la tester dans phpmyadmin
0
Julian_Assange Messages postés 450 Date d'inscription   Statut Membre Dernière intervention   176
 
Disons que ca n'est pas mon métier et je n'ai jamais eu le temps de me mettre a PDO.

Je regarderai pour mysqli, mais pour toi c'est quoi le probleme?

Ce bout de code fonctionne sur une autre page sans "WHERE (dest = '".$at."') AND (lu = '1')" dans la requete.

Puis dans mysql, comment je peux faire puisqu'il y a des variables, il va comprendre? :/
0
codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   123
 
oui tu peut afficher temporairement la requête réellement utilisé de cette façon:

$laRequete = "SELECT .... ect";

echo $laRequete; exit(0);

$actu2 = mysql_query($laRequete);

De cette façon tu va bloquer la page et afficher la requête utilisé
Tu peut ensuite la tester dans phpmyadmin et la modifier en conséquence voir même modifier ton algorithme php si le problème vient de là.

un fois le problème compris et resolut tu peut supprimer
la ligne du echo
0
codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   123
 
J'ai trouver une erreur en testant ta requete sur une de mes tables
et il y le LIMIT qui pose probleme

le LIMIT demande des numeros et là tu lui indique des caractères numérique et ça le fait planté.

faut changer :
limit '".$premiereEntree."', '".$messagesParPage."'")
en
limit ".$premiereEntree.", ".$messagesParPage)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Julian_Assange Messages postés 450 Date d'inscription   Statut Membre Dernière intervention   176
 
Merci pour l'indice, je vais au taf mais je teste ce soir et te tiens au courant, merci encore.
0