par
Davee » 30 juil. 2007, 22:07
Bon super conseils si j'étais venu plus tôt j'aurais trouvé plus tôt la solution.
j'ai fais le mysql error() à l'insertion, et il donnait un truc comme "duplicate entry ratata key 1" sur la dernière variable.
du coup je me suis rendu compte que le dernier champs était un clé unique et comme c'était le champ pour la date (et ce n'est pas une contrepétrie anglaise

) ça merdait, à moins d'insérer les valeurs une seule fois par jour...idiot que je suis.
if(!mysql_connect($_SESSION['MYSQL_SERVER1'],$_SESSION['MYSQL_LOGIN1'])){
echo'Connection Impossible';
exit();
} else{
echo'Connexion réussie<br>';
}
mysql_select_db($_SESSION['MYSQL_DB1']) or die("Unable to select database ".$_SESSION['MYSQL_DB1']);
$query = "SELECT sEmail FROM users where sEmail = '".$_POST['mail']."'";
$result = mysql_query($query) or die("Invalid query (login): " . mysql_error());
if (mysql_affected_rows()<>0) {
echo 'exist déjà';
}else {
$inserto=mysql_query("INSERT INTO allusers (sFName, sLName, sSociete, sPcode, sUser, sEmail,sPsswd, regdate) VALUES ('".$arVals['fname']."','".$arVals['lname']."','".$arVals['societe']."','".$arVals['pcode']."','".$arVals['user']."','".$arVals['mail']."','".$password."', '".$regdate."')") or die("Invalid query (login): " . mysql_error());
}
Sinon, mysql_affected_rows() retourne le nombre de lignes affectées par les requêtes INSERT, UPDATE, REPLACE ou DELETE.
Donc, ce test ne retournera pas 1 parce que le SELECT à retourné une ligne.
Mais je vais essayé de faire comme tu me dit avec select count, seulement avec la fonction mysql_affected_rows ça me dirige vers la sortie "existe déjà", alors que la valeur n'existe pas dasn la table
Je pensais utiliser mysql_num_rows ou mysql_fetch_rows ???
Merci
David.
EDIT: pis je vais aussi enlever les identifiants de connection dans les session ... aussi

Bon super conseils si j'étais venu plus tôt j'aurais trouvé plus tôt la solution.
j'ai fais le mysql error() à l'insertion, et il donnait un truc comme "duplicate entry ratata key 1" sur la dernière variable.
du coup je me suis rendu compte que le dernier champs était un clé unique et comme c'était le champ pour la date (et ce n'est pas une contrepétrie anglaise :) ) ça merdait, à moins d'insérer les valeurs une seule fois par jour...idiot que je suis.
[php] if(!mysql_connect($_SESSION['MYSQL_SERVER1'],$_SESSION['MYSQL_LOGIN1'])){
echo'Connection Impossible';
exit();
} else{
echo'Connexion réussie<br>';
}
mysql_select_db($_SESSION['MYSQL_DB1']) or die("Unable to select database ".$_SESSION['MYSQL_DB1']);
$query = "SELECT sEmail FROM users where sEmail = '".$_POST['mail']."'";
$result = mysql_query($query) or die("Invalid query (login): " . mysql_error());
if (mysql_affected_rows()<>0) {
echo 'exist déjà';
}else {
$inserto=mysql_query("INSERT INTO allusers (sFName, sLName, sSociete, sPcode, sUser, sEmail,sPsswd, regdate) VALUES ('".$arVals['fname']."','".$arVals['lname']."','".$arVals['societe']."','".$arVals['pcode']."','".$arVals['user']."','".$arVals['mail']."','".$password."', '".$regdate."')") or die("Invalid query (login): " . mysql_error());
}[/php]
[quote="zeus"]Sinon, mysql_affected_rows() retourne le nombre de lignes affectées par les requêtes INSERT, UPDATE, REPLACE ou DELETE.
Donc, ce test ne retournera pas 1 parce que le SELECT à retourné une ligne. [/quote]
Mais je vais essayé de faire comme tu me dit avec select count, seulement avec la fonction mysql_affected_rows ça me dirige vers la sortie "existe déjà", alors que la valeur n'existe pas dasn la table :?:
Je pensais utiliser mysql_num_rows ou mysql_fetch_rows ???
Merci
David.
EDIT: pis je vais aussi enlever les identifiants de connection dans les session ... aussi :)