Créer une table dans mysql sur base d'un formulaire

Résolu/Fermé
seba-th Messages postés 126 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 22 juin 2014 - 28 sept. 2013 à 10:53
seba-th Messages postés 126 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 22 juin 2014 - 28 sept. 2013 à 15:53
Bonjour,

Je voudrais creer une table dans mysql qui porterait le nom envoyer avec un formulaire, j'ai essayer ce code, en le transformant un peu de toute les façon mais rien n'y fais.
Est ce que quelqu'un peu m'aider svp?
D'avance merci

<!doctype>
<html>
<?php


mysql_connect('localhost','root','Maryline93');
mysql_select_db('test');
mysql_query('CREATE TABLE '.$_POST['dbname'].'(login text NOT NULL,id mediumint NOT NULL)');
mysql_close();
echo $_POST['dbname'];
?>
</html>
A voir également:

9 réponses

Utilisateur anonyme
28 sept. 2013 à 11:01
Bonjour

A priori, ta requête n'est pas mauvaise si ton $_POST['dbname'] est correct. Visualise la requête et ajoute un or die(mysql_error()) pour avoir un message de diagnostic :

$requete='CREATE TABLE '.$_POST['dbname'].'(login text NOT NULL,id mediumint NOT NULL)';
echo $requete;
mysql_query($requete) or die(mysql_error());
0
seba-th Messages postés 126 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 22 juin 2014
28 sept. 2013 à 11:31
Voilà j'ai rajouter ce que vous avez indiqué mais rien n'y fait, j'ai toujours la même chose, à savoir

500 - Erreur interne au serveur.
Un problème est apparu avec la ressource que vous recherchez. Elle ne peut pas être affichée.

j'ai maintenant ce code la mais je suis débutant dans ce langage donc j'espére que je l'ai mis au bon endroit

<!doctype>
<html>
<?php


mysql_connect('localhost','root','Maryline93');
mysql_select_db('test');
$requete='CREATE TABLE '.$_POST['dbname'].'(login text NOT NULL,id mediumint NOT NULL)';
//mysql_close();
msql_query($requete) or die (mysql_error());


?>
</html>
0
Utilisateur anonyme
28 sept. 2013 à 11:59
Le message indique une erreur du serveur : ce n'est pas une erreur de syntaxe de PHP ni de mySQL.
Travailles-tu en local ou en ligne ?
As-tu essayé un script beaucoup plus simple, genre :
<!doctype html>
<html>
<head>
<title> titre</title>
</head>
<body>
<?php
echo 'coucou';
?>
</body>
</html>
Et essaye de respecter la syntaxe du HTML (DOCTYPE complet, head et body...
Et si tu ne t'y connais vraiment pas plus que ça, je te signale que c'est une très mauvaise idée de faire saisir un nom de table par un formulaire.
0
seba-th Messages postés 126 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 22 juin 2014
28 sept. 2013 à 12:08
Je travaille en ligne, oui j'ai déjà fais un forum et plein d'autre trucs et sa marche trés bien, le script affiche bien coucou, et la syntaxe html n'y change rien.

Ok c'est une mauvaise idée, je veux bien vous croire, ce que je veux faire au final c'est avoir un site avec des membres qui se connecteraient avec identifiant et mot de passe et que chacun de ces utitilisateurs aient une table différente pour y mettre des infos(pas leurs identifiants et mot de passe). Comment feriez vous?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
28 sept. 2013 à 12:21
Pour avancer sur la cause de l'erreur, ajoute tes lignes une après l'autre. Tu sauras laquelle cause l'erreur, on y réfléchira ensuite.

Pour ranger les infos de tes membres, la même table (avec un nom figé) peut très bien convenir pour tout le monde, en y mettant une colonne qui contient l'identifiant de ton membre. Car chaque membre a, je suppose, un identifiant unique.
0
seba-th Messages postés 126 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 22 juin 2014
28 sept. 2013 à 12:27
C'est cette ligne ci qui cause l'erreur

msql_query($requete) or die (mysql_error());

Qu'est ce que vous voulez dire par nom figé? je veux sauvegarder des mots dans une autre langue et leur traduction
0
seba-th Messages postés 126 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 22 juin 2014
28 sept. 2013 à 13:00
je crois que j'ai compris ce que vous voulez dire, je fais des enregistrements avec id, pseudo, password, mot anglais de type text, mot français de type text, c'est cela que vous vouliez dire?
0
Utilisateur anonyme
28 sept. 2013 à 14:08
Ne mélangeons pas les problèmes et réglons d'abord celui du plantage du serveur.
Tu dis que
 msql_query($requete) or die (mysql_error()); 
provoque une erreur 500 - Erreur interne au serveur.

Qu'affiche le echo $requete; juste avant cette ligne ?
0
Utilisateur anonyme
28 sept. 2013 à 14:11
Je viens de remarquer :msql_query au lieu de mysql_query... Ça ne doit pas aider
0
seba-th Messages postés 126 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 22 juin 2014
28 sept. 2013 à 15:53
Bien vu ;) et maintenant sa marche, merci beaucoup :)
0