[PHP] Update raté

Kraig -  
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai fait ce script PHP qui refuse de fonctionner...

Est-ce quelqu'un pourrait pointer mon erreur du doigt ?
<html><head><title>MàJ</title></head>
<body>
<?php
$connexion = mysql_connect("localhost","root","");
if ($connexion)
{
mysql_select_db("bormes",$connexion);
$requete="UPDATE HEBERGEMENT SET
NOMEHEBE='".$_POST['nome']."',
TYPEHEBE='".$_POST['type']."',
QUALHEBE='".$_POST['qual']."',
DESCHEBE='".$_POST['desc']."',
SITUHEBE='".$_POST['situ']."',
OUVEHEBE='".$_POST['ouve']."',
CAPAHEBE='".$_POST['capa']."',
DISMHEBE='".$_POST['dism']."',
PRESHEBE='".$_POST['pres']."',
LANGHEBE='".$_POST['lang']."',
TCHAHEBE='".$_POST['tcha']."',
TPEDHEBE='".$_POST['tped']."',
PHOTHEBE='".$_POST['nome']."',
TELEHEBE='".$_POST['tele']."',
FAXEHEBE='".$_POST['faxe']."',
ADREHEBE='".$_POST['mail']."',
MAILHEBE='".$_POST['adre']."',
SITEHEBE='".$_POST['site']."';";
$ok= mysql_query($requete,$connexion);
echo $ok;
if ($ok)
{
echo "L' hebergement a été correctement modifié";
}
else
{
echo "Attention, la modification de l'hebergement a échoué !!!";
}
}
else
{
echo "problème à la connexion <br />";
}
mysql_close($connexion);
?>
<br/>
</body><html>


Merci d'avance

A voir également:

5 réponses

louloute300 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   29
 
Moi je fais ainsi:


$requete="UPDATE 'HEBERGEMENT' SET
'NOMEHEBE'='".$_POST['nome']."',
'TYPEHEBE'='".$_POST['type']."',
'QUALHEBE'='".$_POST['qual']."', etc...


Les apostrophes des mot en gras ci dessus sont des alt gr + 7
2
louloute300 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   29
 
Si l'on commence à mettre des notes sur les idées que l'on soumet, il n'y a plus qu'à mettre -1 à tous, compte tenu que qu'aucun d'entre vous n'a trouver la bonne solution !!!
0
louloute300 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   29
 
D'autant plus que les apostrophes alt Gr + 7 SONT RECOMMANDE:


UPDATE 'llcorp'.'bank' SET 'num' = '5' WHERE CONCAT( 'bank'.'num' ) =4 LIMIT 1 ;

Voici un update classic exécuté par mysql^^ avec les apostrophe autour des mot en gras entouré par les altGr+7 !!!

Alors essayer avant de notez...
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Je confirme. Même si je ne les utilise pas par flemme, ça ne peut pas faire de mal de les utiliser...
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Quel est ton message d'erreur?
0
Kraig
 
Il m'affiche mon message d'erreur "Attention, la modification de l'hébergement a échoué"
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
C'est donc sûrement ta requête qui est fausse fais echo $requete; à la place de echo $ok;

Puis exécute ce qui s'affiche à l'écran sous phpmyadmin pour voir si elle passe ou non
0
kabbabi Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,

Mets avant NOMEHEBE='".$_POST['nome']."' et après SITEHEBE='".$_POST['site']."' des parenthèses (c'est typique au SQL) et enlève le ; à la fin de la requête et essaye pour voir
0
Kraig
 
Ca marche pas...
0
Leviathan49 Messages postés 257 Date d'inscription   Statut Membre Dernière intervention   70
 
Il ne faut pas de point-virgule à la fin de la requête :
https://www.php.net/manual/fr/function.mysql-query.php
0
Kraig
 
j'ai toujours fais comme ça et pourtant ça marchait...

M'enfin même enlevé, ca bug toujours...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kabbabi Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   6
 
ReSalut,

http://sql.1keydata.com/fr/sql-update.php

Pour ne pas faire d'erreurs de syntaxe.

Pour ton problème, mets :

UPDATE "nom de table"
SET colonne 1 = [valeur 1], colonne 2 = [valeur 2]
WHERE {condition}

$requete="UPDATE 'HEBERGEMENT' SET
NOMEHEBE='".$_POST['nome']."',
TYPEHEBE='".$_POST['type']."',
QUALHEBE='".$_POST['qual']."',
DESCHEBE='".$_POST['desc']."',
SITUHEBE='".$_POST['situ']."',
OUVEHEBE='".$_POST['ouve']."',
CAPAHEBE='".$_POST['capa']."',
DISMHEBE='".$_POST['dism']."',
PRESHEBE='".$_POST['pres']."',
LANGHEBE='".$_POST['lang']."',
TCHAHEBE='".$_POST['tcha']."',
TPEDHEBE='".$_POST['tped']."',
PHOTHEBE='".$_POST['nome']."',
TELEHEBE='".$_POST['tele']."',
FAXEHEBE='".$_POST['faxe']."',
ADREHEBE='".$_POST['mail']."',
MAILHEBE='".$_POST['adre']."',
SITEHEBE='".$_POST['site']."'
WHERE NOMEHEBE='".$_POST['nome']."'";
0
Kraig
 
J'en suis la et ca marche toujours pas...


<html><head><title>MàJ</title></head>
<body>
<?php
$connexion = mysql_connect("localhost","root","");
if ($connexion)
{
mysql_select_db("bormes",$connexion);
$requete="UPDATE 'HEBERGEMENT' SET
NOMEHEBE='".$_POST['nome']."',
TYPEHEBE='".$_POST['type']."',
QUALHEBE='".$_POST['qual']."',
DESCHEBE='".$_POST['desc']."',
SITUHEBE='".$_POST['situ']."',
OUVEHEBE='".$_POST['ouve']."',
CAPAHEBE='".$_POST['capa']."',
DISMHEBE='".$_POST['dism']."',
PRESHEBE='".$_POST['pres']."',
LANGHEBE='".$_POST['lang']."',
TCHAHEBE='".$_POST['tcha']."',
TPEDHEBE='".$_POST['tped']."',
PHOTHEBE='".$_POST['nome']."',
TELEHEBE='".$_POST['tele']."',
FAXEHEBE='".$_POST['faxe']."',
ADREHEBE='".$_POST['mail']."',
MAILHEBE='".$_POST['adre']."',
SITEHEBE='".$_POST['site']."'
WHERE NOMEHEBE='".$_POST['nome']."'";
$ok= mysql_query($requete,$connexion);
echo $ok;
if ($ok)
{
echo "L'hebergement a été correctement modifié";
}
else
{
echo "Attention, la modification de l'hebergement a échoué !!!";
}
}
else
{
echo "problème à la connexion <br />";
}
mysql_close($connexion);
?>
<br/>
</body><html>
0
louloute300 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   29
 
Ah oui, juste comme ça... est-tu sur d'avoir qqch dans tes "nome","type"... sinon, peut être que par précotion tu peux remplacer
$_POST['nome']
par
(isset($_POST['nome'])?$_POST['nome']:"")

Mais ça n'est probablement pas la source d'erreur.

En revanche, breub62 a sans doute la meilleur idée à savoir fait un echo $requete et copie la réponse obtenu dans phpmyadmin...
0
Kraig
 
J'ai viens de cop-col ma requete dans phpmyadmin et il me donne cete erreur la :

#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 ''HEBERGEMENT' SET NOMEHEBE='HOTEL DE LA PLAGE', TYPEHEBE='Hotel ', QUALHEBE='2 Ã' at line 1
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Et en bidouillant sur phpMyAdmin tu arrive à la requête qui répond à tes besoins?
0
Kraig
 
Lorsque je vire la ligne qui met a jour le champ DESCHEBE, ça marche dans phpmyadmin...

Je ne comprend pas pourquoi...
0