Probleme pour mettre a jour une table [résolu] [MY SQL] - SQL/NoSQL - Programmation
Marsh Posté le 17-09-2007 à 00:06:15
les chaines de caractères ( en Mysql ) doivent etre entre '
mysql_query("UPDATE maDB SET $set WHERE pres='$pres'" )
Marsh Posté le 17-09-2007 à 00:07:27
met des guillemets
commence par en vouloir à flo qui m'a grillé
Marsh Posté le 17-09-2007 à 00:09:20
hélas cela donne la meme chose et sa me marque sa :
Citation : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE pres='romain'' at line 1 |
pareil mais avec les guillements en plus xD
Marsh Posté le 17-09-2007 à 00:12:17
Ben ton champ pres dans la table, il est bien de type varchar ou text ?
ou alors, il te dit "near" ... ce qui veut dire que l'erreur est avant le "WHERE" et donc dans le formatage de ton $set certainement
Marsh Posté le 17-09-2007 à 00:12:18
et sinon, tu peux nous faire aficher la requete complete ?
genre faire $query ="UPDATE maDB SET $set WHERE pres='$pres'"
on gagnerai du temps
Marsh Posté le 17-09-2007 à 00:13:41
ReplyMarsh Posté le 17-09-2007 à 00:15:13
Citation : <?php |
alors voici la requete entiere ... mon pres ds la DB est un TEXT .. et sinon la source ds mon fichier c un POST
Marsh Posté le 17-09-2007 à 00:18:47
TheRom_S a écrit : haha 1 sec, na ! |
me vengerai
djmath56 a écrit :
alors voici la requete entiere ... mon pres ds la DB est un TEXT .. et sinon la source ds mon fichier c un POST |
ta syntaxe des set est fausse
tu dois faire UPDATE table SET truc='bidule', machin='caca' WHERE nom='romain"
de plus utiliser directement des valeurs issue de post est assez dangereux
si par exmeple $_POST['plance'] contient la valeur '; DROP TABLE dcdteam_presentation; # tu risque d'avoir des soucis
Marsh Posté le 17-09-2007 à 00:20:05
Ouai mais bon j'me disais que comme set est un array et ke le sql est un language de feignasse ...ba j'me disais que sa aurai été bon xD
Marsh Posté le 17-09-2007 à 00:21:28
djmath56 a écrit : Ouai mais bon j'me disais que comme set est un array et ke le sql est un language de feignasse ...ba j'me disais que sa aurai été bon xD |
je ne sais pas quoi te repondre. Tu utilise une syntaxe qui est completement pifometrique et tu te demande pourquoi ca marche pas
Marsh Posté le 17-09-2007 à 00:24:01
Je debute, je m'aide de tuto et donc avec ces tuto g deja creer des scripts (en copier coller) ou la syntaxe était semblable à la mienne et cela fonctionnait donc je sais plus quoi penser xD
Marsh Posté le 17-09-2007 à 00:25:12
oui mais non, ça marche pas comme ça : tu peux pas mettre un array comme ça dans la requête. En fait, il faut que tu crée une chaîne de caractère qui corresponde à une requête écrite dans la norme SQL.
Donc
Code :
|
à la fin, ton $res devrait ressembler à
Code :
|
Marsh Posté le 17-09-2007 à 00:27:35
je ne suis aps sur de comprendre la programmation du $res
en faite je met un =+ a chaque nouvel entrée pour mon $res
et apres je linclu a la place de mon $set et ce sera bon ?
Marsh Posté le 17-09-2007 à 00:30:13
heu oui j'ai écrit $res machinalement par habitude au lieu de $set, bon ça revient au même.
$truc += $machin, c'est pareil que $truc = $truc + $machin
dans le cas d'une string, attention, c'est pas pareil que $truc = $machin + $truc (question d'ordre)
les += c'est pour faire propre
Marsh Posté le 17-09-2007 à 00:33:02
Code :
|
voila ce que je ferai
Marsh Posté le 17-09-2007 à 00:34:14
au passage l'opérateur de concaténation est . en php , pas +
si tu utilise + il va transformer tes chaine de caractères en entier et les additionner
Marsh Posté le 17-09-2007 à 00:34:59
euh juste une question de débutant a quoi sert mysql_real_escape_string ?
Marsh Posté le 17-09-2007 à 00:36:24
a eviter que quelqu'un ne te casse ta bdd
ca permet de bien gerer les personnes qu imettent des apostrophes , ainsi que des # ou des \ , bref tous les caractères spéciaux en MySQL
Marsh Posté le 17-09-2007 à 00:39:14
flo850 a écrit : au passage l'opérateur de concaténation est . en php , pas + |
Ah oui tiens, mais j'étais plutôt sur du Java dernièrement alors ...
Marsh Posté le 17-09-2007 à 00:44:55
J'vous remerci maintenant sa marche ! maintenant je veillerais a ne plus marquer de connerie xD
Marsh Posté le 17-09-2007 à 00:48:00
marquer des conneries c'est pas tres grave ( j'en ecris mon lot )
mais il vaut miexu eviter d ele faire expres
Marsh Posté le 16-09-2007 à 23:57:26
Alors voila je vous présente mon probleme ....
je reçois des données via POST que je compile en array ! donc jusque la tout va bien !
alors apres je veux les mettre a jour dans ma DB !
je marque le code suivant :
et sur la page il me renvoit cette erreur :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE pres=romain' at line 1
J'ai essayé pas mal de version de mon code mais rien n'y fait c'est toujours le meme message !
merci à ceux qui me viendront en aide !
Message édité par djmath56 le 17-09-2007 à 00:46:01