PHP : pb insertion SQL sur données calculées
Résolu/Fermé
A voir également:
- PHP : pb insertion SQL sur données calculées
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Br php ✓ - Forum PHP
- Expert php - Télécharger - Langages
- Php echo image ✓ - Forum PHP
1 réponse
dariumis
Messages postés
571
Date d'inscription
mardi 16 mars 2010
Statut
Membre
Dernière intervention
18 avril 2018
63
Modifié par dariumis le 13/06/2011 à 17:50
Modifié par dariumis le 13/06/2011 à 17:50
Salut, mais tes deux variables sont des chaines de caractères dans ta base??? Le seul truc possible que je vois, serait que dans ton select il ne trouve pas $_POST['parent'] donc déjà je ferais un echo de la requête select et je l'executerais direct dans la base pour voir ce quelle retourne. Puis je ferais un echo de: $attach_left et $attach_top juste apres ces ligne pour voir si elle existent bien.
$attach_top = intval($attach['top'])+100; $attach_left = intval($attach['left'])+300;
Modifié par dariumis le 13/06/2011 à 17:51
13 juin 2011 à 17:58
Merci du retour si rapide ! :-)
En fait, le $_POST['parent'] est bien renseigné.
Avant de poster, j'ai réalisé plusieurs "echo" et la variable est bien valorisée.
En BDD, les champs left et top sont bien des int.
Mais dès que je fais un echo dessus, ça crashe ! :-(
Et merci encore ! :-)
Yann.
Modifié par dariumis le 13/06/2011 à 18:14
Mais c'est bizarre pourquoi dans ton insert tu met ça
pourquoi les guillemets. ton insert il est bizarre un peu, pour y voir plus claire tu devrais plutôt commencer l'insertion de tes variables php contenant tes requête SQL par des guillemet, ça évite les embrouille je trouve.
Sinon je vois pas trop, ça doit venir du intval. non????
EDIT: Mais en fait le programme il se déroule pas jusqu'à l'insert il stope sur:
???? :)
13 juin 2011 à 18:29
Merci !
Si si, le programme va jusqu'au bout et l'insert se fait.
J'ai ajouté le intval parce que j'ai eu un doute sur le retour - à savoir retour de chaîne de caractères de sql - mais l'effet au final est justement sans effet - avec ou sans, ça change rien ! :-(
Le 300 (width) et 50 (height), ce sont des données que je définie en dur - mais qui par la suite seront traités comme left et top.
Je pense que mon problème vient de la BDD - je suis très surpris de devoir passer les paramètres left et top de l'insert avec des quotes en italiques. (je ne sais pas comment ça s'appelle). :-)
Merci d'avance.
Yann.
Modifié par dariumis le 13/06/2011 à 18:50
Je suis convaincu que si tu met ça:
Le résultat que tu obtiendra seras 150 et 50 au lieu du 300, 100 que tu obtiens généralement, et tous ça car en fait $attach['left'] et $attach['top'], ne contiennent rien, donc ça peut venir soit que tu récupère mal tes variable avec cette ligne (moi j'utilise PDO) :
soit que ton select ne retourne rien, pour le vérifier faut faire un echo du select et l'éxecuter dans phpmyadmin si tu utilise MySQL.
Edit ou alors ton insert ne s'execute pas et tu t'en rend pas compte car si dans ta requête "300","50" étaient des chaines de caractère inséré en dure elles se présenterais de cette manière.
.... \'"300"\',\'"50"\' .....
Pareil, fais un echo de ton insert et execute le dans phpmyadmin.