[PHP] Update raté

Fermé
Kraig - 17 juin 2010 à 10:39
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 - 21 juin 2010 à 09:57
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 jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
Modifié par louloute300 le 17/06/2010 à 11:27
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 jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
18 juin 2010 à 10:25
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 jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
18 juin 2010 à 10:31
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 lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
18 juin 2010 à 10:34
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 lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
17 juin 2010 à 10:41
Quel est ton message d'erreur?
0
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 lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
17 juin 2010 à 10:53
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 lundi 3 mai 2010 Statut Membre Dernière intervention 28 avril 2011 6
17 juin 2010 à 10:54
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
Ca marche pas...
0
Leviathan49 Messages postés 257 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 22 juillet 2011 70
17 juin 2010 à 11:13
Il ne faut pas de point-virgule à la fin de la requête :
https://www.php.net/manual/fr/function.mysql-query.php
0
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 lundi 3 mai 2010 Statut Membre Dernière intervention 28 avril 2011 6
17 juin 2010 à 23:20
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
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 jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
18 juin 2010 à 10:43
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
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 lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
21 juin 2010 à 09:24
Et en bidouillant sur phpMyAdmin tu arrive à la requête qui répond à tes besoins?
0
Lorsque je vire la ligne qui met a jour le champ DESCHEBE, ça marche dans phpmyadmin...

Je ne comprend pas pourquoi...
0