Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
Bonjour à tous
c'est encore le débutant :-D
bon, voilà la question du jour :
je suis en train de créer un système qui permettra a mes membres de créer leur propre page perso sur mon site (un genre de gallerie photo avec possibilité d'uploader leur photos, de mettre du texte sur chaque photo, d'éditer leur texte, d'éffacer de recommencer, un mini-livre d'or...bref)
seulement, créer manuellement les tables me saoule! donc dans le fichier de confirmation de la demande d'ouverture de leur page perso, je voudrais intègrer la création des tables nécassaires (3 : 1 pour pseudo/mot de passe-leur mail par défaut-, une pour leurs photos et texte associé, une pour le livre d'or).
dans un formulaire classique (par POST) je récupère deux variables, $pseudo et $mail.
ensuite je dois :
1) créer 3 tables
2) insèrer les $pseudo et $mail dans la première de ces tables.
ce que j'avais donc écris ressemble à ça :
<?
require("config.php");
// ça c'est simplement un résumé des variables de connexion et l'appel de connexion BDD
$user=$_POST['pseudo'];
$mail=$_POST['mail'];
$pic="'".$user."'_pics'";
$adm="'".$user."'_admin'";
$ldor="'".$user."'_ldor'";
/* je transforme mes variables de formulaire en nom de table : toto devient 'toto_pics', 'toto_admin', 'toto_ldor' */
$create_table="
CREATE TABLE $adm (
`a` varchar(15) collate latin1_german1_ci NOT NULL default '',
`b` varchar(15) collate latin1_german1_ci NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci;
CREATE TABLE $pic (
`id` int(11) NOT NULL auto_increment,
`login` text collate latin1_german1_ci,
`comm` text collate latin1_german1_ci,
`date` varchar(10) collate latin1_german1_ci default NULL,
`heure` varchar(10) collate latin1_german1_ci default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci AUTO_INCREMENT=1 ;
CREATE TABLE $ldor (
`id` int(11) NOT NULL auto_increment,
`nom` text collate latin1_german1_ci,
`comm` text collate latin1_german1_ci,
`date` varchar(10) collate latin1_german1_ci default NULL,
`heure` varchar(10) collate latin1_german1_ci default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci AUTO_INCREMENT=1 ;";
$create=mysql_query($create_table);
if (!$create)
{echo"creation des tables impossible";}
else{
echo"creation des tables réussie";
$insert_user="INSERT INTO $adm VALUES ('$user', 'mail')";
$insert=mysql_query($insert_user);
if (!$insert){echo"impossible d'enregistrer l'utilisateur";}else{echo"table crée, utilisateur inséré";
}
}
?>Et comme de bien entendu, j'ai inévitablement le message "création des tables impossible".
J'ai essayé dans tous les sens, mais mes connaissances sont archi ultra limitées...un petit coup de main serait le bien venu.....
Hors ligne
le probleme vient apparemment de tes requetes sql.
essaye en séparant les trois créations de tables en trois mysql_query différents
ainsi, tu verra de quelle création cela pose probleme
tu peux aussi essayer de tester ta requete dans un soft comme phpmyadmin ![]()
Hors ligne