Adition dans une BDD

pti_suisse Messages postés 86 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 29 septembre 2005 - 11 sept. 2005 à 14:12
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 11 sept. 2005 à 15:50
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

aurelien0306 Messages postés 181 Date d'inscription jeudi 27 février 2003 Statut Membre Dernière intervention 2 mars 2009
11 sept. 2005 à 15:11
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



...
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
11 sept. 2005 à 15:50
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???"
0
Rejoignez-nous