Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/10/2007, 19h01   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 8
Points : 2
Points : 2
Par défaut [SQL] Problème SQL apres mutation de serveur

Bonjour,

Je ne remercierais jamais assez celui qui m'aidera. Ca fait plus d'une journée que je suis dessus et je ne trouve pas la solution.

J'ai plusieurs site web qui marchait très bien chez mon ancien fournisseur de serveur dédié. J'ai changé de fournisseur et sur les nouveaux serveurs, je suis passé d'une version PHP 3 à 4 et MySQL 3 à 5.

Dans tous mes formulaires, j'ai des input et des texarea qui envoient de la données vers MySQL. Pour les input, je n'ai aucun soucis, mais dès que je veux updater ma base avec des données venant de textaera, ca ne passe pas et ca arrete même la mise à jour des autres champs.

Je pense que mes nouvelles configurations PHP, Apache et MySQL sont en cause, mais je ne sais pas où chercher !

Si il y a un balaise sur ce forum...

Merci d'avance
didoulive est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2007, 19h31   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par didoulive
Je pense que mes nouvelles configurations PHP, Apache et MySQL sont en cause, mais je ne sais pas où chercher !
C'est fort probable :
  • plus ou moins lié à register_globals : si elle est à On alors une variable sera automatiquement créée au nom du champ de formulaire (ou autres comme les variables passées par URL). Dans le cas contraire (valeur Off, valeur recommandée), ces variables ne sont plus créées et il faut passer par les tableaux superglobaux portant le nom de la méthode d'où elles proviennent : avec la méthode POST (un formulaire), vous devrez utiliser $_POST['ma_var'] au lieu de $ma_var
  • magic_quotes_gpc actif ou non suivant comment vos données externes sont ensuite utilisées
Vous trouverez les valeurs de ces deux directives dans la sortie d'un phpinfo. Tentez éventuellement d'être plus précis : messages d'erreur, portion(s) de code illustrant le problème rencontré, autres.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2007, 20h54   #3
Invité de passage
 
Inscription : octobre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 8
Points : 2
Points : 2
Excusez moi, le week-end, je dois m'occuper de mon fils en même temps, mais ca y est, il est couché.


Dans mon php.ini
mon register_globals = On
et mon magic_quotes_gpc = On

Voici le bout de code

Formulaire :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php echo "<form name=enrmodifvente1 method=post action=form-vente-modif-enr.php?PHPSESSID=".$PHPSESSID."&ref=".$ref.">"; ?>
 
...
 
 
<table width="100%"  border="0" cellspacing="2" cellpadding="2">
<tr>
<td><textarea name="argumentfr" cols="70" rows="2"><?php echo $row["argumentfr"] ; ?></textarea></td>
</tr>
</table>
 
...
 
<table width="100%"  border="0" cellspacing="2" cellpadding="2">
<tr>
<td width="70%" class="Verdana10Noir"><div align="left" class="Verdana10BleuMer">Les champs marqu&eacute;s d'un ast&eacute;risque * sont obligatoires.</div></td>
<td width="30%"><div align="center">
<input type="submit" name="Submit" value="Enregistrer">
</div></td>
</tr>
</table>
Dans mon php de mise à jour de la base de données :
Code :
1
2
3
4
5
6
$sqlquery = "UPDATE vente 
SET categorie = '$categorie',
...
argumentfr = '$argumentfr' 
WHERE ref = '$ref'";
$queryresult = mysql_query($queryresult) or die (mysql_error());
Et le message d'erreur est Query was empty.

Là je cale complètement
didoulive est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2007, 21h09   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Je n'ai pas le code complet mais ceci me paraît plus logique :
Code :
$queryresult = mysql_query($sqlquery) or die (mysql_error());
Veillez, pour votre environnement de développement, à bien fixer la valeur d'error_reporting à une valeur d'au moins E_ALL.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2007, 21h10   #5
jnore
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Salut

Est-ce que ton erreur ne viendrait pas de là?

Code :
1
2
3
 
 
$queryresult = mysql_query($queryresult) or die (mysql_error());
Il te faut mettre ta requete en paramètre:

Code :
1
2
3
 
 
$queryresult = mysql_query($sqlquery) or die (mysql_error());
Ce qui expliquerait pourquoi ta requete est considérée comme vide.

J'aurai mis aussi les parametres de formulaire (nom et méthode) entre guillemets.
  Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2007, 21h28   #6
Invité de passage
 
Inscription : octobre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 8
Points : 2
Points : 2
La connerie, lol, j'ai fais des tests en essayant de mettre à jour mon php.ini et je cherchais partout dans le php.ini et j'ai pas fait attention de cette erreur dans le code.

Merci à tous les deux
didoulive est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2007, 21h51   #7
Invité de passage
 
Inscription : octobre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 8
Points : 2
Points : 2
Encore merci, je vais mettre un lien vers ce forum sur mon site.

Si je peux faire autre chose, n'hésitez pas à me dire
didoulive est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h42.


 
 
 
 
Partenaires

Hébergement Web