[RESOLU] Faire un INSERT INTO seuleument si l'entré n'existe pas ?

Eléphant du PHP | 218 Messages

01 mars 2013, 02:13

Bonjour, je souhaiterai faire un INSERT INTO seuleument lorsque les entrés dans ma table n'existe pas déjà afin d'éviter les doublons. J'ai essayé pas mal de trucs mais je n'y arrive pas :(
$sql_collab_facture = $bdd->prepare("
						INSERT INTO admin_collaborateurs_factures 
						VALUES(:id_collaborateur, :numero_facture, :total_tva, :total_ttc, '')
						");
$sql_collab_factures->execute(array(
						'id_collaborateur' => $_SESSION['id_collaborateur'],
						'numero_facture' => $date_de_facture_choisi,
						'total_tva' => $total_tva,
						'total_ttc' => $net_a_payer
						));
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 mars 2013, 09:43

Salut,

Solution universelle : compter le nombre de tuples avec ces entrées : select count(*) from ... Where ....
Et si le résultat est zero faire l'insert.

Solution mysql : utiliser replace qui fera un insert ou un update.
Problème : il faut que la clef primaire soit déjà connue, si c'est un auto incrément tu aura du mal ;)

Perso je prendrais la première

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 218 Messages

01 mars 2013, 16:02

Ah ben oui en fait, moi qui cherchais compliqué :D Merci bonne journée
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/