Adition dans une BDD

Signaler
Messages postés
86
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
29 septembre 2005
-
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
-
bon voila j'ai fait ce code :



<?php

@mysql_connect('localhost','***','')

@mysql_select_db('my_db')

$stat = mysql_query('SELECT message FROM stats')

$newstat = $stat+1

mysql_query('UPDATE stats SET message='. $newstat . ' WHERE message='. $stat .'')

@mysql_close

?>



j'ai créé la BDD qu correspond, mais il me mais qu'il y a un probleme a la ligne 3 quand j'essaie le script !!

pouvez vous m'aider svp !!

2 réponses

Messages postés
181
Date d'inscription
jeudi 27 février 2003
Statut
Membre
Dernière intervention
2 mars 2009

salut,

je t'invite à regarder la documentation php sur la fonction mysql_query http://fr2.php.net/manual/fr/function.mysql-query.php.

En effet, dans $stat tu ne récupères pas le champ message directement
mais une ressource qu'il te faut ensuite parcourir... (et la tu
récupères toutes les valeurs du champs message puisqu'il n'y a pas de
clause where (restriction) à moins que tu n'aies qu'une seule valeur
(ligne) dans ta table stats.



En l'occurence ici, s'il s'agit juste d'incrémenter ton champ message
et si ton champ message est de type "numérique", je pense que la
solution serait de faire une seule requête de mise à jour : (et si tu
n'as qu'une seule ligne dans ta table stats):

UPDATE stats set message = message+1



...
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!

Autrement, c'est pas mal de mettre un ; à la fin de chaque ligne.



Il est pas mal aussi de vérifier chaque action mysql ( connection, sélection de base, querie, .. ) avant de continuer.



if( !@mysql_connect('localhost','***','') || !@mysql_select_db('my_db') )

die('Erreur lors de la connextion MySQL');



$stat = mysql_query('SELECT message FROM stats')

if( !$stat )

die('Erreur lors de la récupération des données');



Etc...



@++



R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"