Re: mysql INSERT : problème

Pàgina inicial

Reply to this message
Autor: anne.guilde@free.fr
Data:  
A: anne.guilde
CC: ML Guilde
Assumpte: Re: mysql INSERT : problème
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

>
>> Si quelqu'un a une idée...
>>
>> Merci
>> Anne
>>
>>
>
>
>