En PHP, créer une base de données simples [Résolu]

cs_JLB59 140 Messages postés jeudi 21 septembre 2000Date d'inscription 16 août 2012 Dernière intervention - 2 févr. 2008 à 08:40 - Dernière réponse : cs_JLB59 140 Messages postés jeudi 21 septembre 2000Date d'inscription 16 août 2012 Dernière intervention
- 4 févr. 2008 à 11:21
Bonjour à tous,

Voilà, j'utilise EasyPHP et je voulais savoir s'il est possible de créer une base et une table .sql à partir de PHP.

Vous allez me dire qu'EasyPHP le faire facilement, ça je sais, mais si je suis en ligne et que je veux créer une base sans passer par MySQL, là je ne sais pas comment faire !

Si vous savez comment je peux faire, je vous remercie d'avance de votre aide.

A bientôt.




Cordialement.





JLB59
Afficher la suite 

Votre réponse

24 réponses

Meilleure réponse
cs_JLB59 140 Messages postés jeudi 21 septembre 2000Date d'inscription 16 août 2012 Dernière intervention - 2 févr. 2008 à 10:39
3
Merci
Exact, sans passer par MySQL, ni avec SQLite.




Je veux simplement le faire avec mon éditeur actuel... et en PHP
!


T'as compris maintenant ?





Cordialement.








JLB59

Merci cs_JLB59 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_JLB59
cs_morpheus57 122 Messages postés vendredi 31 mars 2006Date d'inscription 30 décembre 2010 Dernière intervention - 2 févr. 2008 à 10:30
0
Merci
Hello

Je suis pas sur de comprendre : tu veux créer une base sans passer par MySQL ???? Dans ce cas tu peux utiliser SQLite...

http://www.mytravellingfriend.com/tf_morpheus
Commenter la réponse de cs_morpheus57
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 2 févr. 2008 à 11:26
0
Merci
Hello,

http://dev.mysql.com/doc/refman/5.0/en/create-table.html

Les créations de bases ou de tables sont sont de simples requêtes que tu peux exécuter via PHP.
Commenter la réponse de malalam
helorem 49 Messages postés mercredi 3 novembre 2004Date d'inscription 3 février 2008 Dernière intervention - 2 févr. 2008 à 11:27
0
Merci
Zalut JLB59,

un fichier .sql, ce n'est rien d'autre qu'un fichier texte qui contient des requetes sql...
D'un autre coté, un fichier .sql ne sert a rien sans un moteur de base de donnée.
Donc tu fais fausse route !!

2 solutions :
1) utiliser un moteur de base de donnée (MySQL, etc...) et des requetes SQL
2) utiliser un fichier texte

Sinon, si ton probleme c'est juste de creer le fichier .sql pour l'utiliser plus tard, en PHP tu le fais comme si tu ecrivais un fichier texte, du genre :

CREATE TABLE bidule ('id', 'nom');
INSERT INTO bidule ('id', 'nom') VALUES (1, 'bonjour')
etc...
Commenter la réponse de helorem
lucky hal 22 Messages postés jeudi 17 février 2005Date d'inscription 4 février 2008 Dernière intervention - 2 févr. 2008 à 11:29
0
Merci
Salut,
Je comprend pas vraiment ce que tu veut faire, mais du moment que tu envoi une requete SQL a ton SGBD, tu peut creer une base de donnée, des tables, etc...
Le problème c'est que il faut quand meme que php se connecte au SGBD (SQL, MySql, PostGrey, etc...). Pour se connecter php a besoin d'instruction qui différes en fonction des SGBD (MySqlConnect pour mysql, etc...) de meme l'interpretation des résultats des requettes et même l'executions de ces requettes passent par des instructions différentes.
En résumer si tu veut pouvoir te connecter sur des SGBD différent, il va te falloir commencer par ecrire une DAL qui est capable de se connecter aux différent SGBD dont tu as besoin et executer les requettes sur ces meme SGBD.
Commenter la réponse de lucky hal
helorem 49 Messages postés mercredi 3 novembre 2004Date d'inscription 3 février 2008 Dernière intervention - 2 févr. 2008 à 11:33
0
Merci
En fait je me demande s'il ne confond pas MySQL et phpMyAdmin...
Commenter la réponse de helorem
cs_JLB59 140 Messages postés jeudi 21 septembre 2000Date d'inscription 16 août 2012 Dernière intervention - 2 févr. 2008 à 12:07
0
Merci
Merci de ta réponse Malalam,

Les créations de bases ou de tables sont sont de simples requêtes que tu peux exécuter via PHP.

C'est exactement ça que je veux faire, surtout créé une base.

Dans le lien que tu m'as donné, http://dev.mysql.com/doc/refman/5.0/en/create-table.html, j'ai trouvé ça.

Je suppose que c'est le code qui permet de créer une base à partir du Php.
CREATE DATABASE [IF NOT EXISTS] db_name
[create_specification [, create_specification] ...]

create_specification:
[DEFAULT] CHARACTER SET charset_name
| [DEFAULT] COLLATE collation_name



Pourrais-tu me dire comment on se servir de ce code .
Merci de ton aide.
Cordialement.


JLB59
Commenter la réponse de cs_JLB59
cs_JLB59 140 Messages postés jeudi 21 septembre 2000Date d'inscription 16 août 2012 Dernière intervention - 2 févr. 2008 à 12:10
0
Merci
Bonjour Helorem,
un fichier .sql, ce n'est rien d'autre qu'un fichier texte qui contient des requetes sql...
D'un autre coté, un fichier .sql ne sert a rien sans un moteur de base de donnée.
Donc tu fais fausse route !!

2 solutions :
1) utiliser un moteur de base de donnée (MySQL, etc...) et des requetes SQL
2) utiliser un fichier texte
Tu m'as mis ça, mais je crains fort que t'as mal lu !
Je n'ai pas demandé de l'aide sur SQL !...

Cordialement.


JLB59
Commenter la réponse de cs_JLB59
helorem 49 Messages postés mercredi 3 novembre 2004Date d'inscription 3 février 2008 Dernière intervention - 2 févr. 2008 à 12:15
0
Merci
Et bien alors faudrait savoir car la bout de code dont tu demande des explications, c'est du SQL !!

CREATE DATABASE IF NOT EXISTS db_name;

Ca c'est une requete SQL !!

Tu la mets dans ton fichier .sql

Si tu veux des exemple, regarde ce que tu donne un moteur genre phpmyadmin quand tu fais un export de base de donnée.
Commenter la réponse de helorem
cs_JLB59 140 Messages postés jeudi 21 septembre 2000Date d'inscription 16 août 2012 Dernière intervention - 2 févr. 2008 à 12:17
0
Merci
Salut Lucky Hal

Je comprend pas vraiment ce que tu veut faire, mais du moment que tu
envoi une requete SQL a ton SGBD, tu peut creer une base de donnée, des
tables, etc...

C'est simple : écrire un code (requête) en Php pour permettre de créer la base.
Ensuite, on verra pour les tables de cette base.

Je me suis bien expliqué ?
Cordialement.


JLB59
Commenter la réponse de cs_JLB59
helorem 49 Messages postés mercredi 3 novembre 2004Date d'inscription 3 février 2008 Dernière intervention - 2 févr. 2008 à 12:26
0
Merci
Ah bah voila !

$identifiant = mysql_connect($host, $user, $password);
mysql_query("CREATE DATABASE ma_base;", $identifiant);
mysql_select_db("ma_base", $identifiant);
mysql_query("CREATE TABLE ma_table (...);");
Commenter la réponse de helorem
cs_JLB59 140 Messages postés jeudi 21 septembre 2000Date d'inscription 16 août 2012 Dernière intervention - 2 févr. 2008 à 12:40
0
Merci
Merci Helorem,

J'ai pris note de ton bout de code et t'en remercie.

J'ai trouvé une autre manière de création d'une bss que j'ai mis sur ce forum.

++

Cordialement.


JLB59
Commenter la réponse de cs_JLB59
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 2 févr. 2008 à 16:25
0
Merci
Ou tu l'exécutes via mysql_query()...c'est ça qu'il veut faire.
Il veut créer ses tables via un script php.
Commenter la réponse de malalam
cs_JLB59 140 Messages postés jeudi 21 septembre 2000Date d'inscription 16 août 2012 Dernière intervention - 2 févr. 2008 à 17:06
0
Merci
Ou tu l'exécutes via mysql_query()...c'est ça qu'il veut faire.
Il veut créer ses tables via un script php.



C'est ça Malalam !
Maintenant que je peux créer une base via Php, je cherche à faire la même chose cette fois pour une table, toujours via Php !

Cordialement.


JLB59
Commenter la réponse de cs_JLB59
lucky hal 22 Messages postés jeudi 17 février 2005Date d'inscription 4 février 2008 Dernière intervention - 2 févr. 2008 à 22:10
0
Merci
Salut,


En fait tu veut la syntaxe des requettes SQL, alors voici la syntaxe de creation d'une table de nom $table a 5 champs (id-> nombre non null qui s'incremente automatiquement a chaque nouvel enregistrement et clef primaire
nom -> chaine de caractere(25 caractères)
Parametres -> chaine de caracteres non limité
carac -> chaine de caractere(25 caractères)
valeur -> idem)


 $query = "CREATE TABLE IF NOT EXISTS $table (id INT(25) NOT NULL AUTO_INCREMENT UNIQUE KEY,nom VARCHAR(55),parametres TEXT,carac VARCHAR(55), valeur TEXT);";

 $requete = mysql_query($query) or die ("
Fichier : $nom_fichier / fonction : $nom_fonction -> Erreur de création de la table $table : $query");
Commenter la réponse de lucky hal
helorem 49 Messages postés mercredi 3 novembre 2004Date d'inscription 3 février 2008 Dernière intervention - 3 févr. 2008 à 01:49
0
Merci
J'ai l'impression qu'on fait que de se repeter...

Le code je que t'ai fourni creer une base de donnée ET une table.
Le reste, c'est du cours SQL, mais tu as dis que c'est pas ce que tu voulais...

Je ne suis plus...

J'anticipe : pour mettre des données dans ta table, c'est avec
INSERT INTO table VALUES (...)
Commenter la réponse de helorem
cs_JLB59 140 Messages postés jeudi 21 septembre 2000Date d'inscription 16 août 2012 Dernière intervention - 3 févr. 2008 à 04:27
0
Merci
En fait tu veut la syntaxe des requettes SQL, alors voici la syntaxe
de creation d'une table de nom $table a 5 champs (id-> nombre non
null qui s'incremente automatiquement a chaque nouvel enregistrement
et clef primaire




nom -> chaine de caractere(25 caractères)
Parametres -> chaine de caracteres non limité
carac -> chaine de caractere(25 caractères)
valeur -> idem)





 $query
= "CREATE TABLE IF NOT EXISTS $table (id INT(25) NOT NULL
AUTO_INCREMENT UNIQUE KEY,nom VARCHAR(55),parametres TEXT,carac
VARCHAR(55), valeur TEXT);";

 $requete = mysql_query($query) or
die ("
Fichier : $nom_fichier / fonction : $nom_fonction ->
Erreur de création de la table $table : $query");






Salut Lucky Hal ,

Comme me l'avait donné Helorem, il y avait bien les codes pour créer Base et Table.






$identifiant = mysql_connect($host, $user, $password);
mysql_query("CREATE DATABASE ma_base;", $identifiant);

mysql_select_db("ma_base", $identifiant);
mysql_query("CREATE TABLE ma_table (...);");










Mais comme je ne suis pas très avancé avec MySQL, et j'ai galéré pour essayer de mettre la suite pour créer la table.









Et le code que tu me mets pour les précisions des champs de la table m'aide à comprendre la syntaxe pour paramétrer les champs.

J'avais essayé ça :




CREATE TABLE personnel (noms varchar(15), prénoms varchar(15), email varchar(30))




mais c'était pas la bonne solution (incomplet), alors j'ai encore chercher.

Je vais encore essayer avec ton code (adapté à mes besoins), on verra bien !

Je te tendrais au courant !...

++














Cordialement.







JLB59
Commenter la réponse de cs_JLB59
cs_JLB59 140 Messages postés jeudi 21 septembre 2000Date d'inscription 16 août 2012 Dernière intervention - 3 févr. 2008 à 04:39
0
Merci
J'ai l'impression qu'on fait que de se repeter...

Le code je que t'ai fourni creer une base de donnée ET une table.
Le reste, c'est du cours SQL, mais tu as dis que c'est pas ce que tu voulais...

Je ne suis plus...

J'anticipe : pour mettre des données dans ta table, c'est avec





INSERT INTO table VALUES (...)





J'en suis conscient, mais comme je l'ai dit à Lucky Hal, je ne suis pas très avancé dans MySQL et c'était pas évident pour trouver la bonne syntaxe des précisions des champs.

J'aurais peut-être dû t'informer davantages sur ce que je voulais exactement... Désolé de cet oubli !...

Néanmoins, ton code m'a donné un aperçu sur ce que devais faire.

J'ai essayé plusieurs syntaxes mais sans résultats probant !

C'est super sympa de me donner ces bouts de codes, mais sans grandes précisions, c'est un peu l'hébreu pour moi (si je peux dire !).

Quand tout sera au point, je te le dirais...








++
Commenter la réponse de cs_JLB59
helorem 49 Messages postés mercredi 3 novembre 2004Date d'inscription 3 février 2008 Dernière intervention - 3 févr. 2008 à 12:45
0
Merci
CREATE TABLE personnel ('noms' varchar(15), 'prenoms' varchar(15), 'email' varchar(30));






Il faut mettre des cotes. Evite de mettre des accents dans les noms de champs...

Apres ta requete, si tu veux voir les erreurs, fait
echo mysql_error();

Pour insere un enregistrement :
INSERT INTO personnel ('noms', 'prenoms', 'email') VALUES ('valco', 'helorem', 'helorem@nowhere.com');

Pour vider une table :
TRUNCATE personnel;

Pour supprimer une table :
DROP TABLE personnel;
Commenter la réponse de helorem
lucky hal 22 Messages postés jeudi 17 février 2005Date d'inscription 4 février 2008 Dernière intervention - 3 févr. 2008 à 13:47
0
Merci
Salut,
Juste une précision, il te faut definir un des champ comme clef, sinon tu risque d'avoir de soucis...
Je te conseille de rajouter un champ ID comme dans mon exemple....
Commenter la réponse de lucky hal

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.