Probleme de requete update

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme de requete update

par albat » 20 janv. 2009, 20:18

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)


Hep, jojolapine, comment as-tu pu ne pas voir les parenthèses du SET ? :shock:

par boumbata » 20 janv. 2009, 20:10

Impeccable, merci beaucoup monsieur albat et merci a jojolapine pour sa patience.

par albat » 20 janv. 2009, 20:02

1. Pas de parenthèses dans le SET
2. Pas d'apostrophes sur une valeur numérique : WHERE id_article = 12
3. regarde si l'usage de NULL n'est pas préférable : source_image = NULL
$sql = "UPDATE articles
        SET    titre_article = 'dsfdqsf',
               texte_article = 'cul',
               image         = '<img src=\"imagearticle/sdqfdqsf\" align=\"left\" border=\"1\" hspace=\"7\" alt=\"sdqfdqsf\" />',
               source_image  = '',
               date_article  = '2009-01-20 17:01:04',
               motscles_article = 'qsfdsfq'
        WHERE  id_article = 12";

par Invité » 20 janv. 2009, 19:15

Vi monsieur ^^,
Avec echappement ou sans echappement ma requete marche pas.

D'ailleurs si je prend ta requete et la passe dans phpmyadmin j'ai le meme message d erreur.

#1064 - 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 '(
titre_article='dsfdqsf',
texte_article='cul',
image='<img src="ima' at line 3

Merci de ta patience en tout cas.

par jojolapine » 20 janv. 2009, 19:03

Houlà on s'énerve pas...
C'est normal que ça marche pas, as-tu au moins "echappée" le contenu de $_POST['image']?

la requête correcte devrait à priori ressembler à ça au final:

Code : Tout sélectionner

UPDATE articles SET ( titre_article='dsfdqsf', texte_article='cul', image='<img src="imagearticle/sdqfdqsf" align="left" border="1" hspace="7" alt="sdqfdqsf" />', source_image='', date_article='2009-01-20 17:01:04', motscles_article='qsfdsfq' ) WHERE id_article = '12'

par Invité » 20 janv. 2009, 18:59

************ ca marche toujours pas c l enfer !!!

UPDATE articles SET (titre_article='dsfdqsf', texte_article='cul',
image='<img src=\"imagearticle/sdqfdqsf\" align=\"left\" border=\"1\" hspace=\"7\" alt=\"sdqfdqsf\" />',
source_image='', date_article='2009-01-20 17:01:04', motscles_article='qsfdsfq') WHERE id_article = '12'

par jojolapine » 20 janv. 2009, 18:55

Alors au lieu d'utiliser addslashes() utilise plutôt mysql_real_escape_string() (à condition bien sûr que tu travails sous mysql)
Ensuite, refait un echo de la requête içi si ça ne fonctionne toujorus pas...

par Boumbata » 20 janv. 2009, 18:53

$id_article2 =  $_POST['id_article'];
	$titre_article2 = $_POST['titre'];
	$titre_article2 = addslashes($titre_article2);
	$mots_article2 =  $_POST['mots'];
	$date_article2 =  $_POST['date'];
	//$date_article2 =  $date_article2
	$source_article2 =  $_POST['source'];
	$image_article2 =  $_POST['image'];
	//$image_article2 =  addslashes($image_article2);
	$texte_article2 =  $_POST['texte'];
	//$texte_article2 = addslashes($texte_article2);
	$query = "UPDATE articles SET (titre_article='$titre_article2', texte_article='$texte_article2', image='$image_article2',
                       source_image='$source_article2', date_article='$date_article2', motscles_article='$mots_article2')
                  WHERE id_article = '$id_article2'";
	
$Requete = $Base->Request ($query); //execution requete
echo $query;

Merci c vraiment sympa

par jojolapine » 20 janv. 2009, 18:48

montre moi le code:
$sql="...";
tel qu'il est dans ton script....

par Boumbata » 20 janv. 2009, 18:46

Ben merci de ton aide mais ca change rien

par jojolapine » 20 janv. 2009, 18:40

A pardon je croyait que c'était des simples quotes, dont la première était échappée...
Donc en fait tu les gardes (les doubles quotesà mais tu ne les échappes pas!
Tu n'en à pas besoin...

par Invité » 20 janv. 2009, 18:37

Ben en fait c simplement des doubles quotes, je pensais que ca marchait ... (le double quote du 3 quoi)
Je vais essayer sans merci, cela dit je doute vu qu'en insert ca marche comme ca

par jojolapine » 20 janv. 2009, 18:33

il y a une quote de trop à la fin de l'url de ton image,e t aussi à tout tes attibuts html...

par Boumbata » 20 janv. 2009, 18:26

Oui en fait c est un echo,

dans phpmyadmin il me donne ce message d'erreur:
"#1064 - 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 '(titre_article='dsfdqsf',texte_article='bite',image='<img src=\"imagearticle/sdq' at line 1 "
Je ne le comprend pas :-(

par jojolapine » 20 janv. 2009, 18:24

C'est ce que donne un echo de ta requête?
Tu l'as testée sous phpmyadmin?
un message d'erreur?