[RESOLU] INSERT INTO qui oubli des lignes ?!

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] INSERT INTO qui oubli des lignes ?!

Re: INSERT INTO qui oubli des lignes ?!

par @rthur » 18 oct. 2015, 08:34

Je m'en suis partiellement sorti avec un addslashes() mais j'en ai encore une dizaine qui ne veulent pas être transférés...
Bonjour Kaolin,

Plutôt que addslashes, il est préférable d'utiliser pdo_quote qui sert justement à cela :
http://php.net/manual/fr/pdo.quote.php

Re: INSERT INTO qui oubli des lignes ?!

par Kaolin » 18 oct. 2015, 01:29

Je m'en suis partiellement sorti avec un addslashes() mais j'en ai encore une dizaine qui ne veulent pas être transférés...

Je continu à fouiller si quelqu'un a des idées ;)

EDIT : Je n'ai rien dit, j'ai juste mal compté (il est tard :D )

Merci pour m'avoir aiguiller et bonne soirée

Re: INSERT INTO qui oubli des lignes ?!

par Kaolin » 18 oct. 2015, 01:01

Merci de ta réponse, effectivement je n'avais pas du tout pensé à ça !

Comment je peux résoudre ce soucis du coup ?
J'imagine qu'il faut que je protège les ' mais comment ?

Re: INSERT INTO qui oubli des lignes ?!

par or 1 » 18 oct. 2015, 00:59

certaines lignes contiennent des ' et pas d'autres.
les lignes avec ' aboutissent à une requete invalide.

INSERT INTO qui oubli des lignes ?!

par Kaolin » 18 oct. 2015, 00:30

Bonjour la communauté ;)

Je post car je rencontre un léger soucis sur une commande INSERT INTO et j'avoue que je sèche là !
Lorsque j’exécute ma requête, il me manque des lignes à l'arrivée (même à écrire ça me semble impossible mais bon)

Le code :

Code : Tout sélectionner

$query= "select * from xxx ORDER by nom ASC"; $result=$pdo->query($query); while ($row = $result->fetch()) { $queryinsert="insert into yyy values ('','XXXXXX','".$row['aaa']."','".$row['bbb']."','".$row['ccc']."','".$row['ddd']."','".$row['eee']."','".$row['fff']."','".$row['ggg']."','".$row['hhh']."','','','".$row['iii']."','".$row['jjj']."','".$row['kkk']."','".$row['lll']."','".$row['mmm']."')"; $pdo->query($queryinsert); echo "".$row['XXXXXX']." => OK<br />"; }
En gros pour faire simple, je récupère bien tout (toute la liste s'affiche bien sur ma page web grâce au echo) mais je n’insère pas tout (sur 450 entrées à transférer, j'en récupère 305 dans la bdd). Pourtant mon echo étant après ma requête, ce que je vois dans la liste sur la page devrait être aussi transféré dans ma bdd ?

Merci pour votre aide si vous avez des idées