changer juste une valeure d'un bd [PHP/MYSQL] - PHP - Programmation
Marsh Posté le 26-01-2006 à 20:00:08
il faut utiliser UPDATE pour modifier un champ et utiliser la clause WHERE pour definir quelle entrée modifier dans la base :s
Marsh Posté le 26-01-2006 à 20:01:40
De plus il n'y a pas de notion de "derniere ligne" avec SQL (et donc mySQL)
Marsh Posté le 26-01-2006 à 20:12:29
avec update d'accord mais si je met quelque chose du genre :
Citation : UPDATE matable photo='$savefile' WHERE id= ?????? |
je met quoi dans id??
Marsh Posté le 26-01-2006 à 20:16:55
update matable set mon_champ='une valeur', un_autre_champ='une autre valeur ou la meme pourquoi pas ... car apres tout tu fais bien ce que tu veux et c'est tant mieux !' where id='peut-etre l'id de la ligne que tu as insérée dernierement ';
Tout de même je suis etonné de trouver si peu d'intuition a défaut de volonté pour se documenter :s
Marsh Posté le 26-01-2006 à 21:18:51
afbilou a écrit : update matable set mon_champ='une valeur', un_autre_champ='une autre valeur ou la meme pourquoi pas ... car apres tout tu fais bien ce que tu veux et c'est tant mieux !' where id='peut-etre l'id de la ligne que tu as insérée dernierement '; |
merci mais sa je le sais je précise ma question : Comment fai t'on pour mettre l'id que j'ai inséré dernierement?
Marsh Posté le 26-01-2006 à 21:22:39
Passage par url.
Recuperation apres validation du formulaire precedent.
Session.
Voila pour les methodes envisageables
un exemple :
page1.php : premier formulaire avec action="page2.php" method="post"
page2.php : sauvegarder les valeurs du formulaire precedent avec des session ou champ input type="hidden", puis formulaire d'upload de la foto avec action->page3.php
page3.php : recuperation de toutes les données et insertion en base avec insert.
Marsh Posté le 26-01-2006 à 21:56:22
là tu m'aide merci! en abusant de ta gentillesse j'aurai une autre petite question à te poser: j'ai un formulaire d'identification pseudo et motdepasse qui renvoie vers un script qui verifie le mot passe et renvoi vers une page différente selon le pseudo entré: mon script:
Citation : <?php |
et voila le sql error:
Citation : Warning: mysql_connect(): Access denied for user 'i3911682'@'10.0.5.73' (using password: NO) in /www/sites/1/ifrance.com/l/o/lostblog/site/verif.php on line 8 |
voila ce serait trés aimable à toi de m'aider un petit peu!
Marsh Posté le 26-01-2006 à 22:08:49
$pass_sql = mysql_real_escape_string($motdepasse) ; --> c'est $pass que tu passes en argument de ta fonction.
Code :
|
Autant faire bosser mysql avec :
'SELECT count(*) FROM users WHERE pseudo=\'',$nom_sql,'\' AND motdepasse=\'',$pass_sql,'\'' ;
et regarder si le resultat du premier champ (avec mysql_fetch_row par exemple) est > 0
Ca evite le passage d'un grand nombre de données de mysql a PHP pour que ce dernier traite le resultat.
Marsh Posté le 27-01-2006 à 00:12:01
hugoOo a écrit : merci mais sa je le sais je précise ma question : Comment fai t'on pour mettre l'id que j'ai inséré dernierement? |
C'est cette fonction là dont tu as besoin :
http://fr3.php.net/manual/fr/funct [...] ert-id.php
Marsh Posté le 27-01-2006 à 18:15:57
mrbebert ---> merci pour l'aide mais ma photo ne s'affiche plus quand je met :
Citation : $sql = "UPDATE essai SET photo='$savefile' WHERE id='mysql_insert_id()'"; |
peut tu m'aider?
afbilou----> je suis entrain de regarder ce que tu me dit.
Marsh Posté le 27-01-2006 à 21:58:51
ReplyMarsh Posté le 28-01-2006 à 14:04:26
hugoOo a écrit : quelqu'un pourrait t'il me dire pourquoi cela ne marche pas? |
tu utilises une fonction directement dans un requete SQL : c'est du grand n'importe quoi.
Solution : ouvre une doc PHP
Marsh Posté le 28-01-2006 à 15:24:52
Tu ferais bien d'apprendre le Php avec un echo "Hello World !"; plutôt qu'avec un blog ...
C'est comme pour tout, c'est mieux de commencer par les bases.
Marsh Posté le 28-01-2006 à 21:17:31
j'ai changer de technique: je recupere d'abord toute les données en les faisant passer de page en page grace a des INPUT TYPE="hidden" puis je les enregistre dans ma table sql, mais le mysqlerror() reste le meme!
Marsh Posté le 30-01-2006 à 11:34:37
Est tu sur de tes identifiants de conection à mysql?
T'es sur que ton nom d'utilisateur mysql est "i3911682" et que tu n'as aucun mot de passe à fournir?
Ca me paraitrait vraiment bizare qu'un hébergeur comme ifrance laisse une sécurité aussi basse pour la base de donnée fournis à leurs clients.
Quand à ta super nouvelle technique, telle que tu la décris, elle est à chié d'autant plus que tout est faisable en une fois à ma conaissance.
Marsh Posté le 30-01-2006 à 11:46:48
oui j'ai changé j'ai tout fait sur la meme page mais sa ne marche toujours pas: jvé aller voir du coté de mes identifiants et mots de passe!
Marsh Posté le 26-01-2006 à 19:01:17
bonjour,
alors voila je crée en ce moment un script de blog, les données de l'admin du blog sont rentrée dans une base sql mais je rentre dans une premiere page le titre, la date et le texte de l'article puis dans une seconde page j'upload la photo, pour pouvoir utiliser facilement cette photo par la suite je voudrai que l'url se mette dans ma table à la derniere ligne c'est à dire à la ligne du commentaire qui vien juste d'etre créé.
// on écrit la requête sql
$sql = "INSERT INTO essai(id, date, titre, article, photo) VALUES('', '','','','$savefile')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
mysql_close(); // on ferme la connexion
voila ce que j'ai fait mais cela me donne trois article: 1er: titre date et texte sont ok
2eme: tout est vide
3eme: seulement la photo
voila, quelqu'un aurait t-il une idée?