A voir également:
- Déclaration Variable (aucun enregistrement)
- Déclaration de revenus - Guide
- Telecharger studio d'enregistrement rap - Télécharger - Édition & Montage
- Comment couper un enregistrement audio - Guide
- Enregistrement musique mp3 - Télécharger - Streaming audio
- Enregistrement ecran pc - Guide
13 réponses
Bonjour
if(@mysql_affected_rows($sq))
Avec ça, tu ne testes pas le nombre de lignes retourné par ta requête...
C'est avec if (mysql_num_rows($sq)!=0)...
if(@mysql_affected_rows($sq))
Avec ça, tu ne testes pas le nombre de lignes retourné par ta requête...
C'est avec if (mysql_num_rows($sq)!=0)...
Merci d'avoir pris letemps de lire jusqu'au bout, et de répondre.
Je vais testé ça en rentrant du boulot.
Je vais testé ça en rentrant du boulot.
Bonsoir, j'ai tester à l'instant, et deux choix s'offrent à moi. Soit une erreur Mysql, soit le site apparaît comme tout le temps visité.
J'ai du me trompé quelque part mais où ? o_Ô
Merci à vous "Le père", bonne soirée,
Amicalement, Yann.
<?php include("dbconnect.php"); $t=intval($_POST['t']); $id=intval($_POST['id']); $sqs=mysql_query("SELECT * FROM tasks WHERE fn=$t ") or die(mysql_error()); $arr=mysql_fetch_array($sqs); @extract($arr); $sq=mysql_query("SELECT * FROM task$fcode WHERE fid=$id AND fdate=now()"); if(mysql_num_rows($sq)!=1) { echo"<font face=verdana color=ffffff>Erreur! Vous avez déjà visité ce site aujourd'hui.</font>"; exit; } if($fpaytype=='points') { $sql=mysql_query("SELECT ftotalclicks FROM users WHERE fid=$id") or die(mysql_error()); $arr=mysql_fetch_array($sql); @extract($arr); $tot=$ftotalclicks + $prise; $sq=mysql_query("UPDATE users SET ftotalclicks=$tot WHERE fid=$id") or die(mysql_error()); } if(mysql_num_rows($tot)!=0) { echo"<font face=verdana color=413a30>Merci d'avoir visité notre sponsor! Votre compte a été crédité!</font>"; $newvisit=$fvisits+1; mysql_query("UPDATE tasks SET fvisits=$newvisit WHERE fn=$t"); mysql_query("INSERT INTO task$fcode (fip, fdate, ftime, fid) VALUES('$REMOTE_ADDR', now(), now(), $id)") or die(mysql_error()); mysql_query("INSERT INTO activity(fid, fdate, ftask) VALUES ($id, now(), 'ptc')"); } else echo"error"; @mysql_free_result($sql); ?>
J'ai du me trompé quelque part mais où ? o_Ô
Merci à vous "Le père", bonne soirée,
Amicalement, Yann.
Bonjour
Tu n'es pas logique...
C'est s'il le nombre d'enregistrements est différent de zéro qu'il y a déjà eu une visite, pas s'il est différent de un !
Tu n'es pas logique...
if(mysql_num_rows($sq)!=1)
{
echo"<font face=verdana color=ffffff>Erreur! Vous avez déjà visité ce site
C'est s'il le nombre d'enregistrements est différent de zéro qu'il y a déjà eu une visite, pas s'il est différent de un !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En effet.
J'ai donc modifier, puis tant quand vérifier aussi la bonne chose ..
J'ai donc :
&
Mais rien à faire ! Une erreur :
mysql_num_rows(): supplied argument is not a valid MySQL result resource in
Je met tout de même le code de la page précédente pour y voir plus clair :
En vous remerciant encore une fois,
Amicalement, Yann.
J'ai donc modifier, puis tant quand vérifier aussi la bonne chose ..
J'ai donc :
if(mysql_num_rows($sq)!=0)
&
if(mysql_num_rows($sq))
Mais rien à faire ! Une erreur :
mysql_num_rows(): supplied argument is not a valid MySQL result resource in
Je met tout de même le code de la page précédente pour y voir plus clair :
<?php if(!$start) $start=0; $count=5; $sql=mysql_query("SELECT * FROM tasks WHERE fpaytype='points' order by prise desc"); $rows=mysql_num_rows($sql); if($rows<=($start+$count)) $end=$rows; else $end=$start+$count; for($i=$start;$i<$end;$i++) { mysql_data_seek($sql,$i); $arr=mysql_fetch_array($sql); extract($arr); $sq=mysql_query("SELECT fnum FROM task$fcode WHERE fid=$id AND fdate=now()"); if(!mysql_num_rows($sq)) { echo"<b>$fsitename</b><br><a href=visit_task.php?t=$fn&id=$id target=blank onclick='javascript:reloadpage(30)'>$fnote</a><br><b>Cette visite vous rapporte: </b>"; if($fpaytype=='points') echo"$prise points<br><hr>"; else if($fpaytype=='usd') echo"\$$prise<br><hr>"; } } echo"<center><br>"; if($start != 0) { $start=$start-$count; echo"<a href=index.php?tp=$tp&st=$st&s=$s&start=$start>Précédent</a> | "; $fl=1; } if($end<$rows) { if($fl) $start=$start+$count+$count; else $start=$start+$count; echo"| <a href=index.php?tp=$tp&st=$st&s=$s&start=$start>Suivant</a>"; } ?>
En vous remerciant encore une fois,
Amicalement, Yann.
Si tu as ce message, c'est que la requête précédente a échoué
Je ne sais pas lequel de tes mysql_num_rows pose un problème. Alors ajoute un or die (mysql_error()) à chaque requête pour savoir laquelle a un problème :
$sql=mysql_query("SELECT * FROM tasks WHERE fpaytype='points' order by prise desc") or die (mysql_error());
$sq=mysql_query("SELECT fnum FROM task$fcode WHERE fid=$id AND fdate=now()") or die (mysql_error());
Je ne sais pas lequel de tes mysql_num_rows pose un problème. Alors ajoute un or die (mysql_error()) à chaque requête pour savoir laquelle a un problème :
$sql=mysql_query("SELECT * FROM tasks WHERE fpaytype='points' order by prise desc") or die (mysql_error());
$sq=mysql_query("SELECT fnum FROM task$fcode WHERE fid=$id AND fdate=now()") or die (mysql_error());
Re,
J'ai fait les vérifications pour les erreurs. Et la requête qui bloque :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /web/codesgratuits/www/taskfinish.php on line 41
Est donc celle-ci:
if(mysql_num_rows($sq))
Celle qui attribue le point si aucun clic n'a été effectué auparavant.
J'ai fait les vérifications pour les erreurs. Et la requête qui bloque :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /web/codesgratuits/www/taskfinish.php on line 41
Est donc celle-ci:
if(mysql_num_rows($sq))
if($fpaytype=='points') { $sql=mysql_query("SELECT ftotalclicks FROM users WHERE fid=$id") or die(mysql_error()); $arr=mysql_fetch_array($sql); @extract($arr); $tot=$ftotalclicks + $prise; $sq=mysql_query("UPDATE users SET ftotalclicks=$tot WHERE fid=$id") or die(mysql_error()); } if(mysql_num_rows($sq)) { echo""; } else echo"error"; @mysql_free_result($sql); ?>
Celle qui attribue le point si aucun clic n'a été effectué auparavant.
Je viens de remarquer une grosse erreur...
Quand je t'ai dit au début qu'il fallait utiliser mysql_num_rows à la place de mysql_affected_rows, c'était après un SELECT ! Il fallait laisser le mysql_affected_rows après le UPDATE !!!
Quand je t'ai dit au début qu'il fallait utiliser mysql_num_rows à la place de mysql_affected_rows, c'était après un SELECT ! Il fallait laisser le mysql_affected_rows après le UPDATE !!!
ARf ..
J'ai remplacer. Mais seul ce qui suit marche :
if(mysql_affected_rows())
En revanche avec ceci et le num_rows($sq)!=0
le clic peut se faire 15 fois d'affilé sans que la première vérif (ci-dessus) ne fonctionne.
Si j'ajoute à affected_rows une variable, alors j'ai une erreur mysql similaire à la précédente, toujours à la même ligne.
J'ai remplacer. Mais seul ce qui suit marche :
if(mysql_affected_rows())
En revanche avec ceci et le num_rows($sq)!=0
le clic peut se faire 15 fois d'affilé sans que la première vérif (ci-dessus) ne fonctionne.
Si j'ajoute à affected_rows une variable, alors j'ai une erreur mysql similaire à la précédente, toujours à la même ligne.
C'est normal qu'il ne faille pas mettre de variable en paramètre à mysql_affected_rows (du moins pas un résultat de requête)
Jusque là je ne m'étais intéressé qu'aux problèmes de mysql, pas à ceux de logique. J'ai l'impression que en fait tu n'avais besoin de mysql_affected_rows à aucun moment, mais j'aimerais voir l'état actuel de ton script avant de confirmer.
Jusque là je ne m'étais intéressé qu'aux problèmes de mysql, pas à ceux de logique. J'ai l'impression que en fait tu n'avais besoin de mysql_affected_rows à aucun moment, mais j'aimerais voir l'état actuel de ton script avant de confirmer.
Bonjour,
Ah, je pensais qu'il fallait justement mettre un parametre à mysql_affected_rows.
J'ai mis les 4 fichiers .php dans un .zip à cette adresse :
http://www.codes-gratuits.org/script-Lepere.zip
Pour que vous puissiez voir le script en entier donc, et l'état actuel.
La première page renvoyant vers la seconde, la seconde étant incluse dans la 3ème le tout renvoyant vers la 4ème.
Merci beaucoup de votre aide.
Amicalement, Yann.
Ah, je pensais qu'il fallait justement mettre un parametre à mysql_affected_rows.
J'ai mis les 4 fichiers .php dans un .zip à cette adresse :
http://www.codes-gratuits.org/script-Lepere.zip
Pour que vous puissiez voir le script en entier donc, et l'état actuel.
La première page renvoyant vers la seconde, la seconde étant incluse dans la 3ème le tout renvoyant vers la 4ème.
Merci beaucoup de votre aide.
Amicalement, Yann.
Coucou, me revoilà après un week-end bien occupé.
Maintenant je m'intéresse à la logique du programme et je ne comprends pas vraiment tout, parce que des instructions comme le extract que tu utilises font surgir des variables dont j'ignore tout.
Peux-tu répondre à ces questions :
1- Si l'utilisateur clique 15 fois d'affilée comme tu dis, a-t-il 15 fois le message "Merci d'avoir visité notre sponsor"
2- Est-ce que tu vois, dans la table task$fcode, l'enregistrement correspondant à l'utilisateur qui clique?
3- le champ fdate est-il de type DATE ou DATETIME ?
Maintenant je m'intéresse à la logique du programme et je ne comprends pas vraiment tout, parce que des instructions comme le extract que tu utilises font surgir des variables dont j'ignore tout.
Peux-tu répondre à ces questions :
1- Si l'utilisateur clique 15 fois d'affilée comme tu dis, a-t-il 15 fois le message "Merci d'avoir visité notre sponsor"
2- Est-ce que tu vois, dans la table task$fcode, l'enregistrement correspondant à l'utilisateur qui clique?
3- le champ fdate est-il de type DATE ou DATETIME ?
Bonjour, Bonjour,
Oui, un week-end de 3 jours vous avez raison d'en profiter ! =)
De mon côté j'en ai profité pour cherché et encore cherché !
L'erreur étais toute simple, et encore une fois une question de logique !
J'ai oublié de connecté ma bdd dès le début de mon script, soit au clic de l'utilisateur.
C'était comme si il cliqué sur un simple bouton : Rajouter un point à mon compte.
D'autre part j'en ai profiter pour modifier ces task$fcode par task'.$fcode.' raison ou tord j'ai des doutes.
En tout cas, vos messages m'ont bien fait comprendre que je manque de logique et surtout d'attention !
Merci beaucoup, Amicalement, Yann.
Oui, un week-end de 3 jours vous avez raison d'en profiter ! =)
De mon côté j'en ai profité pour cherché et encore cherché !
L'erreur étais toute simple, et encore une fois une question de logique !
J'ai oublié de connecté ma bdd dès le début de mon script, soit au clic de l'utilisateur.
C'était comme si il cliqué sur un simple bouton : Rajouter un point à mon compte.
D'autre part j'en ai profiter pour modifier ces task$fcode par task'.$fcode.' raison ou tord j'ai des doutes.
En tout cas, vos messages m'ont bien fait comprendre que je manque de logique et surtout d'attention !
Merci beaucoup, Amicalement, Yann.