Author: anne.guilde@free.fr Date: To: anne.guilde CC: ML Guilde Subject: Re: mysql INSERT : problème
anne.guilde@??? a écrit : > anne-guilde-free a écrit :
>> anne.guilde@??? a écrit :
>>> Bonjour,
>>>
>>> Je liste un certain nombre de ligne que j'affiche, je fais l'insert
>>> dans mysql, puis je réaffiche tous les champs que j'ai insérés.
>>>
>>> -----------
>>> echo "<b> Package : </b>".$i." <b> Nom : </b>".$o1."<b> en cours
>>> d'ajout </b>--- \n";
>>>
>>> mysql_query(" INSERT INTO donne_am VALUES
>>> ('$a1','$e1','$b1','$c1','$d1','$f1','$i1','$g1','$h1','$o1','$p1','$q1','$j1','$k1','$l1')
>>> ");
>>> # mysql_query("INSERT INTO donne_am VALUES
>>> ('$a1','$e1','$b1','$c1','$d1','$f1','$i1','$g1','$h1','$o1','$p1','$q1','$j1','$k1','$l1')
>>> ON DUPLICATE KEY UPDATE ");
>>>
>>> echo "<b> Package : </b>".$k." <b> - </b>".$a1." <b> - </b>".$e1."
>>> <b> - </b>".$b1." <b> - </b>".$c1." <b> - </b>".$d1." <b> -
>>> </b>".$f1." <b> - </b>".$i1." <b> - </b>".$g1." <b> - </b>".$h1." <b>
>>> - </b>".$o1." <b> - </b>".$p1." <b> - </b>".$q1." <b> - </b>".$j1."
>>> <b> - </b>".$k1." <b> - </b>".$l1."<b> - </b>--- \n";
>>> --------------
>>> $o1 correspond à la clé unique
>>>
>>> 1)
>>> sur les 155 lus, je n'en ai que 130 dans la table
>>> il y a donc des lignes qui ne sont pas insérées
>>> comment avoir un message quand pas d'insertion?
>>>
>>> j'ai farfouillé dans les logs => rien
>>
>> opération réussie pour le point 1
>> Ce sont tous les enregs qui ont un champ qui contient une apostrophe
>> qui ne sont pas insérés
>>
>> --------------
>> $a1 = mysql_real_escape_string($a1);
>> ...
>> $q1 = mysql_real_escape_string($q1);
>>
>> $query = " INSERT INTO donne_am VALUES
>> ('$a1','$e1','$b1','$c1','$d1','$f1','$i1','$g1','$h1','$o1','$p1','$q1','$j1','$k1','$l1'
>> ) ";
>>
>> $result = mysql_query($query);
>> --------------
>>
>> dans $result, si blanc pas d'insertion, si '1' enreg inséré
>>
>>>
>>> 2)
>>> la deuxième ligne de mysql que j'ai commenté :
>>> Je voulais mettre à jour si enreg existant et insérer si inexistant
>>> => marche pas.
>>>
>>
>> Pour l'instant, pas trouvé
>
> Trouvé avec replace
>
> $query = " REPLACE INTO donne_am
> (name,arch,epoch,ver,rel,summary,description,packager,url,href,summaryfr,descriptionfr,versionsme,problemes,solutions)
> VALUES
> ('$a1','$e1','$b1','$c1','$d1','$f1','$i1','$g1','$h1','$o1','$p1','$q1','$j1','$k1','$l1'
> ) ";
>
> Si existe, cela met à jour (si j'ai bien compris delete+insert)
> Si inexistant, cela crée l'enreg
>