Aller au contenu

mysql_affected_rows() grr !


Sujets conseillés

Posté

Bonjour à tous,

Un truc tout C... mais qui me pourrit la vie !

Une requete bete et mechante (qui fonctionne !), pour updater des données, et un comptage du nombre d'enregistrement affectés.

Simplement, quand il n'y a pas d'enregistrement concernés, je me retrouve avec une erreur dans mes logs !

ErrorException' with message 'mysql_affected_rows() expects parameter 1 to be resource, boolean given' in /home/loprik/domains/XXXxxxr.php:53
mysql_affected_rows(true).

ça me fait gonfler mes fichiers logs pour rien, et je comprends vraiment pas le problème :(

Une idée de qulequ'un de sympa me dépanerait bien :).

Par avance merci.

Posté

La fonction attend une resource en parametre, le lui passe un booléen (je ne fais que traduire l'erreur), si d'ailleurs tu postais le code en question, peut-être serais-je plus clair ;)


Posté

Bonjour et merci, Stephane,



Voila le code (mais c'est vriament du basique)



$req="update source_pages set current_crawl=0, erreurs=(erreurs+1), statut='erreur1' WHERE date_crawl=0 and current_crawl<'$vieuxcrawl' and current_crawl<>0";
$res=mysql_query($req);
if ($res)
{
$nb_supressions=mysql_affected_rows($res);
}

Pour le booleen, oui, j'ai vu ça, la question, c'est pourquoi ça me met un booléen au lieu d'un bete 'zero' s'il n'y a pas d'enregistrement affecté ?



Je confirme que la requete passe bien sous phpmyadmin...


Posté

$link = mysql_connect('machin','truc','');

$req="update source_pages set current_crawl=0, erreurs=(erreurs+1), statut='erreur1' WHERE date_crawl=0 and current_crawl<'$vieuxcrawl' and current_crawl<>0";

$res=mysql_query($req);

if ($res)

{

$nb_supressions=mysql_affected_rows($link);

}

ou

$req="update source_pages set current_crawl=0, erreurs=(erreurs+1), statut='erreur1' WHERE date_crawl=0 and current_crawl<'$vieuxcrawl' and current_crawl<>0";

$res=mysql_query($req);

if ($res)

{

$nb_supressions=mysql_affected_rows();

}

Posté

Waho, subtil, subtil :).



Je suis dév du dimanche, j'avais pas vu la nuance sur la notion de 'connexion'. je passe toujours l'appel mysql, y compris dans mes mysql_num_rows(). Je suppose que je dois faire la même erreur, je vais checker cela.



Merci pour tout, ça marche nickel.


Veuillez vous connecter pour commenter

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



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