Comment eviter des donnees duplique/PHPSQL ?
Résolu
squid3570
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis nouven en dev!
J ai un site d inscription qui fonctionne tres bien !
il utilise PHP/MYSQL.Mon problem est que les meme donnees peuvent etre enregistree sans message d erreur!!
Par exemple si "alexandre " a ete deja enregistre,il n y a pas de message d error pour un nouveau enregistrement " alexandre".
Quelqu un peut il m aider ? Voici mon code:
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("identity", $con);
$name=mysql_real_escape_string($_POST['name']);
$email=mysql_real_escape_string($_POST['email']);
$sql="INSERT INTO form_data (name,email) VALUES ('$name','$email')";
name and email are the respective table fields*/
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
echo "The form data was successfully added to your database.";
mysql_close($con);
?>
Je suis nouven en dev!
J ai un site d inscription qui fonctionne tres bien !
il utilise PHP/MYSQL.Mon problem est que les meme donnees peuvent etre enregistree sans message d erreur!!
Par exemple si "alexandre " a ete deja enregistre,il n y a pas de message d error pour un nouveau enregistrement " alexandre".
Quelqu un peut il m aider ? Voici mon code:
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("identity", $con);
$name=mysql_real_escape_string($_POST['name']);
$email=mysql_real_escape_string($_POST['email']);
$sql="INSERT INTO form_data (name,email) VALUES ('$name','$email')";
name and email are the respective table fields*/
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
echo "The form data was successfully added to your database.";
mysql_close($con);
?>
A voir également:
- Comment eviter des donnees duplique/PHPSQL ?
- Fuite données maif - Guide
- Éviter pub youtube - Accueil - Streaming
- Trier des données excel - Guide
- Comment dupliquer un écran - Guide
- Sauvegarde des données - Guide
8 réponses
Bonjour
Et pourquoi y aurait-il un message d'erreur ? Si tu n'as pas imposé de contrainte particulière sur le champ 'nom', comme le déclarer 'primary', mysql n'a aucune raison de refuser.
C'est à toi de tester si un utilisateur existe déjà
Et pourquoi y aurait-il un message d'erreur ? Si tu n'as pas imposé de contrainte particulière sur le champ 'nom', comme le déclarer 'primary', mysql n'a aucune raison de refuser.
C'est à toi de tester si un utilisateur existe déjà
bonjour,
Fait un test pour voir si le nom et l'adresse mail ne sont pas déjà dans ta base en faisant :
Select * from form_data where name = '$name' And email = '$email'
;o)
Polux
Fait un test pour voir si le nom et l'adresse mail ne sont pas déjà dans ta base en faisant :
Select * from form_data where name = '$name' And email = '$email'
;o)
Polux
Voici le message d erreur :
Parse error: syntax error, unexpected T_STRING avec ce code :
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("identity", $con);
$name=mysql_real_escape_string($_POST['name']);
$email=mysql_real_escape_string($_POST['email']);
$sql="INSERT INTO form_data (name,email) VALUES ('$name','$email')";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
echo "The form data was successfully added to your database.";
Select * from form_data where name = '$name' And email = '$email'
mysql_close($con);
?>3 message(s) posté(s) depuis le mardi 18 décembre 2007
Parse error: syntax error, unexpected T_STRING avec ce code :
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("identity", $con);
$name=mysql_real_escape_string($_POST['name']);
$email=mysql_real_escape_string($_POST['email']);
$sql="INSERT INTO form_data (name,email) VALUES ('$name','$email')";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
echo "The form data was successfully added to your database.";
Select * from form_data where name = '$name' And email = '$email'
mysql_close($con);
?>3 message(s) posté(s) depuis le mardi 18 décembre 2007
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici le message d erreur :
Parse error: syntax error, unexpected T_STRING avec ce code :
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("identity", $con);
$name=mysql_real_escape_string($_POST['name']);
$email=mysql_real_escape_string($_POST['email']);
$sql="INSERT INTO form_data (name,email) VALUES ('$name','$email')";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
echo "The form data was successfully added to your database.";
Select * from form_data where name = '$name' And email = '$email'
mysql_close($con);
?>
Parse error: syntax error, unexpected T_STRING avec ce code :
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("identity", $con);
$name=mysql_real_escape_string($_POST['name']);
$email=mysql_real_escape_string($_POST['email']);
$sql="INSERT INTO form_data (name,email) VALUES ('$name','$email')";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
echo "The form data was successfully added to your database.";
Select * from form_data where name = '$name' And email = '$email'
mysql_close($con);
?>
oulala .... ça fait bien longtemps que je n'ai pas fait de PHP, je n'ai plus la syntaxe en tête.
De mémoire mysql_query retourne un booléen (vrai ou faux) donc ce qu'il faut faire c'est faire la vérification avant de faire l'insert en testant le retour du recordset, du genre :
$sql="Select * from form_data where name = '$name' And email = '$email'"
if (mysql_query($sql,$con)=false){
$sql="INSERT INTO form_data (name,email) VALUES ('$name','$email')";
else
if (!mysql_query($sql,$con)) {
'message' ....
die('Error: ' . mysql_error());
}
Je fais ça de tête sans tester, à toi d'arranger ça, mais le principe est le suivant : je teste l'existance dans la base (Select * from form_data where name = '$name' And email = '$email') si je ne trouve pas alors je fais l'insert (INSERT INTO form_data (name,email) VALUES ('$name','$email')) sinon j'envoie un message d'avertissement à l'utilisateur ...
De mémoire mysql_query retourne un booléen (vrai ou faux) donc ce qu'il faut faire c'est faire la vérification avant de faire l'insert en testant le retour du recordset, du genre :
$sql="Select * from form_data where name = '$name' And email = '$email'"
if (mysql_query($sql,$con)=false){
$sql="INSERT INTO form_data (name,email) VALUES ('$name','$email')";
else
if (!mysql_query($sql,$con)) {
'message' ....
die('Error: ' . mysql_error());
}
Je fais ça de tête sans tester, à toi d'arranger ça, mais le principe est le suivant : je teste l'existance dans la base (Select * from form_data where name = '$name' And email = '$email') si je ne trouve pas alors je fais l'insert (INSERT INTO form_data (name,email) VALUES ('$name','$email')) sinon j'envoie un message d'avertissement à l'utilisateur ...
Merci d avance !!
ok voici le message d erreur :
Fatal error: Can't use function return value in write context ligne 15
et le code :
<?php
$con = mysql_connect("localhost","root",""); //Replace with your actual MySQL DB Username and Password
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("identity", $con); //Replace with your MySQL DB Name
$name=mysql_real_escape_string($_POST['name']); //This value has to be the same as in the HTML form file
$email=mysql_real_escape_string($_POST['email']); //This value has to be the same as in the HTML form file
$sql="Select * from form_data where name = '$name' And email = '$email'";
if (mysql_query($sql,$con)=false){
$sql="INSERT INTO form_data (name,email) VALUES ('$name','$email')";
else
if (!mysql_query($sql,$con)) {
'message' ....
die('Error: ' . mysql_error());
}
echo "The form data was successfully added to your database.";
mysql_close($con);
?>
ok voici le message d erreur :
Fatal error: Can't use function return value in write context ligne 15
et le code :
<?php
$con = mysql_connect("localhost","root",""); //Replace with your actual MySQL DB Username and Password
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("identity", $con); //Replace with your MySQL DB Name
$name=mysql_real_escape_string($_POST['name']); //This value has to be the same as in the HTML form file
$email=mysql_real_escape_string($_POST['email']); //This value has to be the same as in the HTML form file
$sql="Select * from form_data where name = '$name' And email = '$email'";
if (mysql_query($sql,$con)=false){
$sql="INSERT INTO form_data (name,email) VALUES ('$name','$email')";
else
if (!mysql_query($sql,$con)) {
'message' ....
die('Error: ' . mysql_error());
}
echo "The form data was successfully added to your database.";
mysql_close($con);
?>
lol .... si tu fais juste un copier/coller de mon code c'est sûr que ça ne peut pas marcher ... je te l'ai dit, je n'ai plus en tête la syntaxe de PHP que je ne pratique plus depuis longtemps maintenant ... je t'ai juste donné la marche à suivre, à toi de remettre ça dans la bonne syntaxe en cherchant dans tes cours ou sur le net ... ce n'est pas à moi de faire cette démarche
bon courage
;o)
Polux
bon courage
;o)
Polux