Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2010, 17h06   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 5
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2010
Messages : 5
Points : 0
Points : 0
Par défaut Création d'une table

Bonjour,

Je suis tout frais sur ce forum et en Mysql également.

Le problème : j'ai un serveur local (WAMP), je crée un script php qui doit (normalement) créer une table nommée "eleve".
Le voici :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
$liendb=mysql_connect("localhost","root");
mysql_select_db("test");
 
$sql="CREATE TABLE eleve (
ideleve int(10) unsigned NOT NULL auto_increment,
nom varchar(64) NOT NULL default '',
prenom varchar(64) NOT NULL default '',
PRIMARY KEY (ideleve),
KEY nom(nom)
)";
mysql_query($sql);
mysql_close($liendb);
 
echo "table < eleve > cree";
 
?>
Le problème c'est tout simplement que cela me renvoi bien le message comme quoi la table est créée mais elle reste vide.
J'ai testé avec un autre serveur local c'est le même résultat.
Pourtant la connexion à la base se fait bien, je suis sec sur ce coup là

Voilà, merci d'avance !
maximus11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2010, 17h17   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 977
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 977
Points : 18 221
Points : 18 221
Envoyer un message via MSN à CinePhil
Citation:
Le problème c'est tout simplement que cela me renvoi bien le message comme quoi la table est créee mais elle reste vide.
C'est normal, il n'y a aucune insertion de données dans la table dans ton script !

Il te faut maintenant des requêtes INSERT INTO.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/12/2010, 18h16   #3
Invité de passage
 
Inscription : décembre 2010
Messages : 5
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2010
Messages : 5
Points : 0
Points : 0
Par défaut Noté

Merci de ta réponse. J'y avais pensé au départ.
J'ai donc ajouté un autre script :

Code :
1
2
3
4
5
6
7
$liendb=mysql_connect("localhost","root");
mysql_select_db ("test");
$sql="INSERT INTO eleve (nom,prenom) VALUES('Dupont','Paul')";
mysql_query($sql);
mysql_close($liendb);
 
echo "eleve bien enregistre";
Mais là pareil j'ai le message final mais la base est toujours vide.

Merci encore.
maximus11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/12/2010, 18h25   #4
Invité de passage
 
Inscription : décembre 2010
Messages : 5
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2010
Messages : 5
Points : 0
Points : 0
Par défaut Piste

Où alors une piste pour tester ça ? un petit bout de code ?

Et Bonnes fêtes !

Merci d'avance.
maximus11 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 25/12/2010, 19h08   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 977
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 977
Points : 18 221
Points : 18 221
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par maximus11 Voir le message
Mais là pareil j'ai le message final mais la base est toujours vide.
Tu sembles vouloir tout faire en programmation PHP. Comment constates-tu que la table reste vide ? phpMyAdmin ? MySQL en ligne de commande ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/12/2010, 12h30   #6
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 699
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 699
Points : 3 269
Points : 3 269
Salut

Une fois avoir créé la table, puis inséré au moins une ligne dans cette table, reste maintenant la sélection des données :
Code sql :
1
2
3
 
SELECT nom, prenom
FROM eleve
Voir la doc avec la fonction mysql_fetch_array par exemple : mysql_fetch_array()
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 11h06   #7
Invité de passage
 
Inscription : décembre 2010
Messages : 5
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2010
Messages : 5
Points : 0
Points : 0
Par défaut PhpMyAdmin

Bonjour,

Merci de vos réponses.

@CinePhil : Oui en fait je tente de tout faire en php, mais c'est en utilisant PhpMyadmin que je vois que tout reste vide.

@RunCodePhp : Oui OK mais pour l'instant je tente déjà d'y enregistrer une table

@+
maximus11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 11h39   #8
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Ta requête que tu fais pour créer la table en php.

Copies la et test la dans phpmyadmin par l'onglet "SQL". Si la table est créée, c'est qu'il y a une erreur niveau PHP sinon, tu auras une erreur SQL affichée

edit: bon la table se créée. Je regarde ton code ^^.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<?php
 
$liendb=mysql_connect("localhost","root", "") or die (mysql_error());//meme s'il n'y a pas de passe, met le on sait jamais...
mysql_select_db("test") or die (mysql_error());
 
$sql="CREATE TABLE eleve (
ideleve int(10) unsigned NOT NULL auto_increment,
nom varchar(64) NOT NULL default '',
prenom varchar(64) NOT NULL default '',
PRIMARY KEY (ideleve),
KEY nom(nom)
)";
$return = mysql_query($sql);
//mysql_close($liendb);//inutile
if($return){
  echo "table < eleve > cree";
}else{
  echo 'pas bon';
}
?>
A mon avis c'était un problème de mot de passe non saisie pour accéder au serveur mysql.
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/12/2010, 14h27   #9
Invité de passage
 
Inscription : décembre 2010
Messages : 5
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2010
Messages : 5
Points : 0
Points : 0
Par défaut Super

Salut radicaldreamer,

Merci super ça fonctionne , il devait y avoir une erreur dans mon code.

J'ai bien une erreur quand les identifiants sont erronés et le message de réussite quand ils sont valide (la table est aussi du coup bien ajoutée).

Bon maintenant ya plus qu'à.
Merci encore.

@+
maximus11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h52.


 
 
 
 
Partenaires

Hébergement Web