Prob table to table phpbb

Répondre
Lefounard
le 25/10/2004 à 19:34
Lefounard
Bonsoir voila j'ai un script de transfert de ma table membres a celle du forum phpbb mais je rencontre un prob :


Erreur SQL !INSERT INTO phpbb_users (username, user_password, user_regdate, user_email,user_website,user_from, user_interests) VALUES ( "connard" , "d944c282ee6ed52067cf17d37131942c", "1098725591" , "connard@hotmail.com" , "toutdroit.fr.st", "montpellier" , "foot" )
Duplicate entry '0' for key 1


Donc voila le morceau de script
<?php
connect($forum_user);
$idr = $_POST["id"];

$where = "WHERE id='".join("' OR id='", $idr)."'";
$sql = "SELECT pseudo, password, ville, site, email, loisirs FROM inscription $where";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$date=time();

$new_array = array();
while ($data = mysql_fetch_array($req)){

$sql = 'INSERT INTO phpbb_users (username,user_password,user_regdate,
user_email,user_website,user_from,user_interests) VALUES
(

"'.$data['pseudo'].'",
"'.$data['password'].'",
"'.$date.'",
"'.$data['email'].'",
"'.$data['site'].'",
"'.$data['ville'].'",
"'.$data['loisirs'].'"
)';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}

disconnect($req);
?>

Donc on m'as parler de key de username qui etait en unique dans ma bdd mais bon je vois pas ce qui bloque !
Merci de votre aide

Note de zebden : c'est pas plus lisible comme ca ? ^^

[Message modifié le 25/10/2004 à 19:41 par zebden]
I am singing in the rain , I am happy again !!
zebden
le 25/10/2004 à 19:39
zebden
Ca veut dire que le champs username ne peut pas avoir deux fois la meme valeur donc test si le pseudo existe si oui pas d'entrée ou un update si non nouvelle entrée..

[Message modifié le 25/10/2004 à 19:39 par zebden]
zebdinou pour les intimes / Blog : http://www.zebden.fr
moogli
le 25/10/2004 à 19:56
moogli
salut,

si le champ user_name correspond a la meme personne utilise la fonction REPLACE de mysql ( la ) présenté par le sieur Zebden :)


@+
Il en faut peu pour être heureux !!!!!
Lefounard
le 25/10/2004 à 20:42
Lefounard
le pseudo n'existe vu que je veux inscrire le membre ! (j'ai verifier !)
Or un udapte c lorsque il ya deja un elelement de stocker ?
Merci
I am singing in the rain , I am happy again !!
moogli
le 26/10/2004 à 10:17
moogli
tu n'aurais pas oublier l'id du bazard des fois ?


@+
Il en faut peu pour être heureux !!!!!
Lefounard
le 26/10/2004 à 11:59
Lefounard
figure que je viens donc a l'id mais je ne peux pas mettre auto-incremente dans la structure de ma table.
Donc je vais faire un script qui va recuperer le dernier id enregistrer et je le recuperer , je l'incremente et je peux ainsi inscrire le nouveau membre !
Or un petit prob : si un membre s'inscris par le forum ca va pas poser probleme ? vu qu'il ya deux inscriptions en parallele ? y aura pas un conflit d'id ?
Donc pour le script je pensait a ca mais ma syntaxe me block :
Je fais une requete classant par decroissant , je prend le premier element du tablo associatif $data qui est donc l'id le plus grand , ensuite je l'inscrement et je l'insere avec le nouveau membre !
J'ai pas coder car je ne sais pas faire correctement la syntaxe, quelqu'un pourrait me filer un coup de main ?
Merci de votre aide,

P.S.:pour l'id je croyais que la bdd l'aurai fait automatiquement ! desolé
I am singing in the rain , I am happy again !!
zebden
le 26/10/2004 à 12:08
zebden
Il le fait automatiquement si tu lui precise, et le doublon ne vient pas de l'id mais du login... utilise replace oui sans preciser l'id mais le login comme ca si le login existe il fera un update sinon une nouvelle entrée

et vu que REPLACE a la meme synthaxe que INSERT bin tu remplace juste INSERT par REPLACE.

N.B si tu precise l'id lors de l'enregistrement , l'auto incremente ne se fait pas tout seul puisque tu la precise .
zebdinou pour les intimes / Blog : http://www.zebden.fr
Lefounard
le 26/10/2004 à 12:40
Lefounard
Donc merci Zebden ca marche mais a moitié !
Ca enregistre bien sans probleme, le membre peut se connecter sur le forum et laissez un message mais dans la liste des membres quand tu cliques sur son profil : phpbb m'annonce : "Désolé mais ce membre n'existe pas !" Effectivement j'ai jeter dans la bdd , il se peut que ce probleme viendrai tout simplement du fait que l'user est un id = 0 donc je vais etre quand meme obliger de faire la manip precedente : incrementer moi meme l'id dans le script , merci de votre aide pour la syntaxe !
I am singing in the rain , I am happy again !!
Lefounard
le 26/10/2004 à 19:44
Lefounard
c bon g regler !
merci pour REPLACE : )
I am singing in the rain , I am happy again !!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours