Page 1 sur 1
Une requête UPDATE qui me donne un message d'erreur
Posté : 04 juil. 2005, 10:50
par Invité
Bonjour,
Voici mon script :
<?php
$host="************";
$user="***********";
$mpasse="***********";
$database="*************";
$image='$_POST[url]';
$connexion = mysql_connect($host, $user, $mpasse)
or die ("Connexion à la base impossible");
$db = mysql_select_db($database)
or die("Sélection de la base impossible");
$sql = "UPDATE image_1 SET url='$image'";
or die ("La requête à échoué");
$res = mysql_query($sql)
or die ("La requête à échoué");
mysql_close($connexion);
header ("*****************");
?>
Quelqu'un pourrait-il me dire où se trouve l'erreur car je ne vois vraiment rien.
Re: Une requête UPDATE qui me donne un message d'erreur
Posté : 04 juil. 2005, 10:51
par harry67
Bonjour,
Voici mon script :
<?php
$host="************";
$user="***********";
$mpasse="***********";
$database="*************";
$image='$_POST[url]';
$connexion = mysql_connect($host, $user, $mpasse)
or die ("Connexion à la base impossible");
$db = mysql_select_db($database)
or die("Sélection de la base impossible");
$sql = "UPDATE image_1 SET url='$image'";
or die ("La requête à échoué");
$res = mysql_query($sql)
or die ("La requête à échoué");
mysql_close($connexion);
header ("*****************");
?>
Quelqu'un pourrait-il me dire où se trouve l'erreur car je ne vois vraiment rien.
Posté : 04 juil. 2005, 10:51
par VaN
image_1 c'est le nom de ta table ?
Une variable dans un mail envoyée avec la fonction mail()
Posté : 04 juil. 2005, 10:52
par harry67
Oui, c'est exact.
Posté : 04 juil. 2005, 10:52
par ouckileou
MySQL peut te le dire lui-même si tu lui demandes :
rajoute cette fonction dans ton "or die()" : mysql_error()
cela affichera l'erreur qui est provoquée
$sql = "UPDATE image_1 SET url='$image'";
$res = mysql_query($sql)
or die (mysql_error());
Une requête UPDATE qui me donne un message d'erreur
Posté : 04 juil. 2005, 10:53
par harry67
Je l'ai l'erreur, désolé de pas l'avoir donnée avant :
Parse error: parse error, unexpected T_LOGICAL_OR in /home3/c/cavero/www/url.php on line 15
Posté : 04 juil. 2005, 10:53
par zeus
Quand tu écrit ça, PHP met dans $image la CHAINE DE CARACTERE $_POST[url] et non pas le contenu de la variable
$image='$_POST[url]';
Ensuite, quand tu fait
$sql = "UPDATE image_1 SET url='$image'";
PHP l'interprete comme ça :
$sql = "UPDATE image_1 SET url='$_POST[url]'";
Et il ne sait pas le résoudre
Donc 3 conseils :
-pas de ' autours des variables si tu les affecte
-sort les variables des chaines de caractère sinon PHP ne sait pas interpreter les tableau
-quand tu met une chaine de caractère comme index d'un tableau, met des "
code corrigé :
<?php
$host="************";
$user="***********";
$mpasse="***********";
$database="*************";
$image=$_POST[url];
$connexion = mysql_connect($host, $user, $mpasse)
or die ("Connexion à la base impossible");
$db = mysql_select_db($database)
or die("Sélection de la base impossible");
$sql = "UPDATE image_1 SET url='".$image."'";
or die ("La requête à échoué");
$res = mysql_query($sql)
or die ("La requête à échoué");
mysql_close($connexion);
header ("*****************");
?>
Posté : 04 juil. 2005, 10:54
par VaN
enleve le ; de
$sql = "UPDATE image_1 SET url='$image'";
Parse error: parse error, unexpected T_LOGICAL_OR in /home3/c/cavero/www/url.php on line 15
tu avait mit 2 ; sur la ligne de ta requete
Posté : 04 juil. 2005, 10:55
par ouckileou
cela vient d'un "or" inutile, je dirai celui après l'attribution du code SQL à ta variable requête
ici :
$sql = "UPDATE image_1 SET url='".$image."'";
or die ("La requête à échoué");
Une requête UPDATE qui me donne un message d'erreur
Posté : 04 juil. 2005, 11:05
par harry67
Désolé, ça me donne toujours le même message d'erreur D'où ça pourrait venir?
Posté : 04 juil. 2005, 11:15
par ouckileou
tu peux reposter ton code corrigé suivant toutes les propositions qui ont été faites ?
Posté : 04 juil. 2005, 11:16
par VaN
tu as bien enlevé le ; de cette ligne ?
$sql = "UPDATE image_1 SET url='$image'";
or die ("La requête à échoué");
==>
$sql = "UPDATE image_1 SET url='$image'"
or die ("La requête à échoué");
Si oui, quel est le msg d'erreur ? quelle ligne ?
Une requête UPDATE qui me donne un message d'erreur
Posté : 04 juil. 2005, 12:08
par harry67
En fait, c'est bon, ça marche
Merci!
Posté : 04 juil. 2005, 12:13
par zeus
C'était quoi l'erreur ?
Ca peut servir pour d'autre personnes ...

Une requête UPDATE qui me donne un message d'erreur
Posté : 04 juil. 2005, 12:15
par harry67
C'était un point virgule en trop à la fin de ma requête UDPATE
