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 ... :P

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
:D