Variables php dans requête MYSQL
Résolu/Fermé
zikof's
-
30 déc. 2008 à 12:39
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 30 déc. 2008 à 17:49
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 30 déc. 2008 à 17:49
Bonjour,
Je cherche à insérer des variables php dans une requête mysql, en local ma base de données est bien alimentée avec les variables mais quand j'utilise mon script avec ma base de données distante ( hébergée chez www.1and1.com ) le serveur MYSQL ne prends pas en charge mes variables il n' y a que des espaces :
$req="insert into `jos_content` (`title`,`introtext`,`catid`,`sectionid`,`created_by`) values ('$satos','addslashes($data)',38,10,62)";
mysql_query($req) or die (mysql_error()) ;
merci de votre aide en avance.
Je cherche à insérer des variables php dans une requête mysql, en local ma base de données est bien alimentée avec les variables mais quand j'utilise mon script avec ma base de données distante ( hébergée chez www.1and1.com ) le serveur MYSQL ne prends pas en charge mes variables il n' y a que des espaces :
$req="insert into `jos_content` (`title`,`introtext`,`catid`,`sectionid`,`created_by`) values ('$satos','addslashes($data)',38,10,62)";
mysql_query($req) or die (mysql_error()) ;
merci de votre aide en avance.
A voir également:
- Variables php dans requête MYSQL
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) ✓ - Forum Linux / Unix
10 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
30 déc. 2008 à 12:43
30 déc. 2008 à 12:43
fait un echo de tes variables pour savoir ce qu'il y a dedans, le problème ne se situe peut-être pas au niveau de la requête.
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
30 déc. 2008 à 12:43
30 déc. 2008 à 12:43
A mon avis tu devrai essayer ça comme ça:
$req='insert into `jos_content` (`title`,`introtext`,`catid`,`sectionid`,`created_by`) values ('$satos','addslashes('.$data.')',38,10,62)';
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
30 déc. 2008 à 12:47
30 déc. 2008 à 12:47
encore pire, il y a des erreurs de syntaxes dans la ligne que tu lui donnes.
essaye avec ça, mais commence par faire un echo des tes variables comme je l'ai dit...
C'est toujours la première démarche à faire quand on a un soucis avec des vaiables, il faut les afficher pour voir si elles contiennent bien ce qu'on veut.
$req="insert into `jos_content` (`title`,`introtext`,`catid`,`sectionid`,`created_by`) values ('".$satos."','".addslashes($data)."',38,10,62)";
essaye avec ça, mais commence par faire un echo des tes variables comme je l'ai dit...
C'est toujours la première démarche à faire quand on a un soucis avec des vaiables, il faut les afficher pour voir si elles contiennent bien ce qu'on veut.
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
30 déc. 2008 à 12:51
30 déc. 2008 à 12:51
Autant pour moi, j'ai pas l'habitude d'utiliser addslashes() du coup j'étais pas trop sur.
pour mes variables il n'y a aucune erreur dedans car j'ai essayé avec d'autres variables avec des valeurs aléatoires et ça marche du tt pas, pour ta solution arthezius , elle ne marche pas aussi t merci.
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
30 déc. 2008 à 12:59
30 déc. 2008 à 12:59
Donc quand tu affiche tes variables, y'a aucun souci?
La fin de ta requète serai pas plutôt ça ?
La fin de ta requète serai pas plutôt ça ?
$req='insert into jos_content ("title", "introtext", "catid", "sectionid", "created_by") values ('".$satos."', '".addslashes($data)."', "38", "10", "62")';
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pour ton code ' ThEBiShOp ', je l'ai essayé dèja et d'ailleurs c'est ce que j'ai utilisé quand j'ai travaillé en local mais snif EN LIGNE elle ne marche pas
c'est comme MYSQL intérprète mes variables php en étant des espaces, il n'y a que du vide dans ma base de données pourtant en local ça marche.
merci
merci
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
30 déc. 2008 à 13:15
30 déc. 2008 à 13:15
Bonjour
d'ou proviennent tes variables ? d'un formulaire en POST
Comment lers récupéres tu ?
exemple:
$data=$_POST['data'];
ou tu utilises directement $data dans ta requette sans l'avoir récupérée du POST ?
d'ou proviennent tes variables ? d'un formulaire en POST
Comment lers récupéres tu ?
exemple:
$data=$_POST['data'];
ou tu utilises directement $data dans ta requette sans l'avoir récupérée du POST ?
zikof's
>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
30 déc. 2008 à 13:24
30 déc. 2008 à 13:24
ben mes variables sont de types string, de simples variables contenant des caractères et elles ne sont pas issues d'une formulaire.
$data="gllhghffddf"; par ex
merci
$data="gllhghffddf"; par ex
merci
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
>
zikof's
30 déc. 2008 à 13:33
30 déc. 2008 à 13:33
Alors essayes avec cette forme de req
tu as mélangé les " et les ' et il ne faut pas de " pour les noms de champ
tu as mélangé les " et les ' et il ne faut pas de " pour les noms de champ
$req="INSERT INTO jos_content (title, introtext, catid, sectionid, created_by) VALUES ('".$satos."', '".addslashes($data)."', '38', '10', '62')";
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
30 déc. 2008 à 14:10
30 déc. 2008 à 14:10
les valeur numérique n'ont pas besoin d'être "quotés" et un double ou simple quote ne change strictement rien.
Est-ce que tu peux faire ce que je t'ai conseillé dès le début...
faut commencer par le commencement des fois.
Au lieu d'écrire
ecrit :
Tu obtiens quoi ?
Est-ce que tu peux faire ce que je t'ai conseillé dès le début...
faut commencer par le commencement des fois.
Au lieu d'écrire
$req="insert into `jos_content` (`title`,`introtext`,`catid`,`sectionid`,`created_by`) values ('".$satos."','".addslashes($data)."',38,10,62)";
ecrit :
echo $req="insert into `jos_content` (`title`,`introtext`,`catid`,`sectionid`,`created_by`) values ('".$satos."','".addslashes($data)."',38,10,62)";
Tu obtiens quoi ?
InAme19
Messages postés
539
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
62
30 déc. 2008 à 16:26
30 déc. 2008 à 16:26
et côté serveur en ligne, ta base de donnée à bien la même structure que celle en local?? Car l'ordre des champs a une grande importance!
oui c'est la meme structure, mais j'ai trouvé l'erreur juste pour la variable $satos, dèja c'est $sato c'est pour ça insérait le vide mais pour la variable $data j'ai essayé de l'affiché seule mais il ne retourne rien.
NB: $data contient du texte et s'insère dans un champs mediumtext (introtext)
merci.
NB: $data contient du texte et s'insère dans un champs mediumtext (introtext)
merci.
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
30 déc. 2008 à 16:42
30 déc. 2008 à 16:42
c'est bien ce que je disais, le problème ne vient pas de la requête.
D'où viennent tes variables ?
D'où viennent tes variables ?
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
>
zikof's
30 déc. 2008 à 17:17
30 déc. 2008 à 17:17
- mes variables plutot la variable $data est une extraction du contenu d'un fichier html.
questions idiotes :
- ton fichier HTML tu l'as bien chargé sur le serveur, et dans le même répertoire que en local ?
- as tu les droits pour le lire ?
- en local tu bosses avec EasyPhp ou Wamp ? c a d windows
- en distant Linux ?
questions idiotes :
- ton fichier HTML tu l'as bien chargé sur le serveur, et dans le même répertoire que en local ?
- as tu les droits pour le lire ?
- en local tu bosses avec EasyPhp ou Wamp ? c a d windows
- en distant Linux ?
zikof's
>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
30 déc. 2008 à 17:30
30 déc. 2008 à 17:30
merci les gas j'ai pu arriver à trouver la solution, j'ai télecharger e fichier php.ini du serveur et je l'ai vérifié, j'ai activer la fonction display_errors et puis le serveur m'a retourné que le fichier cité n'est pas le meme qui est uploder , j'ai remis tout en ordre et c'est fait .
merci pour vos réponses.
merci pour vos réponses.
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
30 déc. 2008 à 17:49
30 déc. 2008 à 17:49
coche la case "résolu" ;)