php mysql

Eléphant du PHP | 110 Messages

24 janv. 2008, 10:58

slt
je ne comprend pas la chose suivante, voici un bout de code pour expérimenter les relation php mysql
<?php session_start() ?>
<?php 
require_once('Connections/conexion_bd_fetetout.php');
$requete= "INSERT INTO coordonnees SET email='samedis'";
$resultat=mysql_query($requete,$BD_membre);
?>
ce code marche très bien a la première requête et insert bien samedis dans le champ email, mais si je re execute ce code sans changer la valeur "samedis" il ne me re -insert pas samedis (etrange pour moi?) alors que si je donne comme valeur dimanche ca marche, mais une seule fois je suis tjrs obligé de changer la valeur pour que le code insert une ligne sup a ma base

merci
A+

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

24 janv. 2008, 11:11

Se pourrait-il que dans ta base de données, le champ email soit une clé primaire ou comporte une contrainte d'unicité, t'inderdisant de fait d'avoir 2 valeurs identiques ? :)

Nota : lorsque tu utilises mysql_query() php se contente d'envoyer les requête à ta base et récupère les résultat éventuels, mais ne se soucis absolument pas des erreurs sql que celle-ci a pu produire. La fonction mysql_error() te permet - en cas d'erreur de mysql_query() - d'avoir un message d'erreur et ainsi débugger plus facilement :
$resultat=mysql_query($requete,$BD_membre) or die ('Erreur SQL : ' . mysql_error());
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 110 Messages

24 janv. 2008, 11:52

en effet email etait bien definit comme cle primaire. donc ne paut avoir deux fois le meme valeur ! c'est logique
j'ai donc bien compris la lecons .

merci
A+ :)