requête Mysql (INSERT) [RESOLU][PHP][MYSQL] - PHP - Programmation
Marsh Posté le 28-01-2015 à 15:39:14
Ne manquerait-il pas des apostrophes autour de la chaine ?
Personnellement, je construis toujours en concaténant avec le point. Par exemple :
Code :
|
Marsh Posté le 28-01-2015 à 16:03:56
olivthill a écrit : Ne manquerait-il pas des apostrophes autour de la chaine ?
|
Merci, mais cela ne fonctionne pas non plus...
Voici la structure de ma table :
https://drive.google.com/file/d/0B2 [...] sp=sharing
peut-être que le "type" de mon champs n'est pas bon ???
Marsh Posté le 29-01-2015 à 09:58:11
Là je sèche... personne n'a une idée d'où mon problème peut-il venir?
Marsh Posté le 29-01-2015 à 10:18:17
Tu as fais un var_dump de ta variable chaine ?
Comme l'a dit olivthill, déjà échappe obligatoirement tes insertions ( rajoute tes variables entre ' ' et mets y au moins du addslashes ou du mysql_real_escape_string ou encore $DB->quote($mavar) )
Ensuite je serai toi, je ferai une variable query = ta requete avec les différentes concaténations, un echo/die de la variable query, et tu l'executes en direct sur ta base.
Marsh Posté le 29-01-2015 à 10:19:23
Faut regarder si la méthode query ne renvoie pas une erreur. $DB c'est quoi comme objet ?
Marsh Posté le 29-01-2015 à 10:47:11
pense à ajouter un addslashes avant tes variables pour éviter les caractères d'échappements
pas besoin de mettre id si il est autoincrémenté
$DB correspond à quoi, je n'ai pas vu de mysql_connect dans ton code, tu es sur que tu as la bonne portée ?
qu'est ce que tu as dans le php_error quand tu fais ça ?
Marsh Posté le 29-01-2015 à 11:22:59
antac a écrit : pense à ajouter un addslashes avant tes variables pour éviter les caractères d'échappements |
voici l'objet $DB qui se trouve dans "config_rdq.php" :
Code :
|
dans mon bout de code plus haut au début (c'est vrai je n'ai pas affiché le début) où je fais un require de "config_rdq.hph" :
Code :
|
Ma commande
Code :
|
fonctionne très bien lorsque je remplace $chaine par du texte manuellement comme ceci :
Code :
|
la requête plante lorsque j'utilise $chaine, mais pourquoi ? Comme expliqué plus haut j'ai mis un try/catch autour de ma requête qui ne me retourne aucune erreur...
Marsh Posté le 29-01-2015 à 11:23:01
Je parie que dans $titre, $contenu ou $chaine, y'a un caractère non échappé (apostrophe ou guillemet)
Sinon, c'est peut-être son champ $date qui n'est pas au format YYYY-mm-dd...
Edit :grilled by antac
Marsh Posté le 29-01-2015 à 11:25:33
rufo a écrit : Je parie que dans $titre, $contenu ou $chaine, y'a un caractère non échappé (apostrophe ou guillemet) |
Je crois tu ass raison, je viens de tester cette commande et ça marche :
Code :
|
Marsh Posté le 29-01-2015 à 11:31:23
recep a écrit :
|
lorsque je fais un
Code :
|
j'ai =
Code :
|
vous pensez que ça peut venir des simples apostrophes qui entourent la date ?
Marsh Posté le 29-01-2015 à 11:34:52
recep a écrit :
j'ai =
vous pensez que ça peut venir des simples apostrophes qui entourent la date ? |
Vu ton code, tu n'as pas à tout requoter, tu le fais là:
Code :
|
Il faut juste le faire pour $chaine aussi
Marsh Posté le 29-01-2015 à 11:57:17
voilà, problème résolu en faisant tout simplement :
Code :
|
Merci à tous!
Marsh Posté le 29-01-2015 à 11:57:38
les apostrophes ne devraient pas être dans la variable date, c'est crade...
Marsh Posté le 29-01-2015 à 12:02:13
recep a écrit :
|
Là y'a une belle possibilité d'injection + CSRF
Marsh Posté le 29-01-2015 à 12:04:20
Le pire c'est que dans le reste du code il y a du $db->quote()..
Marsh Posté le 29-01-2015 à 12:26:16
Ah merde j'avais pas vu le addslashes Bon en tous cas c'est pas bien de faire ça en GET
Marsh Posté le 29-01-2015 à 13:49:39
En plus faire du PDO pour arriver à ce type de truc... c'est franchement dommage mais bon...
Marsh Posté le 28-01-2015 à 11:58:27
bonjour,
voilà j'ai un problème que je n'arrive pas a résoudre.
voici mon code :
dans ce bout de code, je désire Uploader un fichier vers un dossier ("MonSite\fichiers\" ), lorsque j'utilise la commande (en commentaire - en vert) d'insertion dans la DB du nom du fichier cela fonctionne, mais si j'utilise cette fois-ci la commande (en bleu) où j'indique au niveau du champ "chemin" ma variable $chaine, là ça ne fonctionne pas, je n'ai aucune ligne qui vient s'ajouter dans la DB, je n'ai pas d’erreur (tester avec un try-catch) et mon fichier est bien Ulpoader dans mon dossier.
je ne comprends pas pourquoi lorsque j'indique le nom du fichier 'comme dans le commentaire' cela fonction et pas de l'autre manière...
Si quelqu'un à une idée?
Message édité par recep le 29-01-2015 à 11:57:54