Probleme avec mysql / php simple

Résolu/Fermé
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012 - 24 mars 2009 à 17:30
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 - 25 mars 2009 à 20:48
Bonjour,


j essaye d etudier le php avec le guide complet php 3 eme edition
et en arrivant au chapitre 10 sur les bases de donnees j arrive a creer la base, a enregistrer une personne mais impossible de verifier les donnees.
je donne les 3 scripts de l exercice du livre qui permet de : script 1 " creer une basse de donnee"


<?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'',
adresse varchar(128) NOT NUL default'',
ville varchar(64) NOT NULL default'',
cp varchar(8) NOT NULL default'',
pays varchar (32) NOT NULL default 'france',
sexe varchar(8) binary NOT NULL default '',
naissance date NOT NULL default '0000-00-00',
taille int(10) unsigned NOT NULL default '0',
email varchar(64) NOT NULL default '',
telephone varchar (16) NOT NULL default'',
lv varchar(16) NOT NULL default'',
PRIMARY KEY (ideleve),
KEY nom (nom)
)";
mysql_query($sql);
mysql_close($liendb);

echo "table <eleve> créée";
?>


script 2 "alimenter la basse de donnee "

<?php
$liendb = mysql_connect("localhost", "root","");
mysql_select_db("test");
$sql ="INSERT INTO eleve (nom, prenom, adresse, ville, cp, pays, sexe, naissance, taille, email, telephone, lv)
VALUES('dupont','paul', '12 rue brancion', 'paris','75015', 'france', 'masculin', '1989-04-11','120','pdupont@wanadoo.fr','0123456','anglais')";
mysql_query($sql);
mysql_close($liendb);
echo "eleve<paul dupont > enregistré";
?>

script 3 "recuperer les donnee presentes dans les colonnes"
<?php
$liendb = mysql_connect("localhost", "root", "");
mysql_select_db("test");
$sql = "SELECT nom, prenom FROM eleve WHERE ideleve = '1' ";
$resultat = mysql_query ($sql);
$eleve = mysql_fetch_array ($resultat);
$nom = $eleve['nom'];
$prenom = $eleve['prenom'];
echo "eleve[1], nom = $nom, prenom = $prenom";
mysql_close($liendb);
?>



au final lorsque le lance le dernier script il me met cette erreur : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\voir_pauldupont.php on line 6
eleve[1], nom = , prenom =


qui peut m aider a trouver l erreur

merci d avance
A voir également:

19 réponses

Bonjour

Es-tu sûr que la base est bien créée, et les données bien enregistrées ? Comment l'as-tu vérifié (phpmyadmin au autre ?)

Sinon, dans le script 3, modifie ces deux lignes pour avoir plus de précisions sur la cause du problème :

$liendb = mysql_connect("localhost", "root", "") or die (mysql_error());
$resultat = mysql_query ($sql) or die (mysql_error());
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
24 mars 2009 à 19:31
merci de m avoir repondu

si je rejoute les ligne cela me donne :

no database selected

pour verifier lsi la basse est la le gros probleme est que ce livre te donne seulement les exercices sans vraiment expliquer... du coup pour un debutant tu dois te fier aux resultatx des deux premiers scripts qui te dis par "echo" base cree et eleve enregistre .. ce qui ne veut pas dire que la base est creer reellement j en suis conscient...
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
24 mars 2009 à 19:45
As tu créé la base de données "test" ?

Si pas, crée-la avec phpmyadmin (tu l'as installé ?) et complète le champ "Créer une base de données".

Cordialement,

IpIpIp Ipone
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
24 mars 2009 à 19:57
d apres le livre j ai cru que c est la premier script qui fait office de creation de base de donnee sinon je me perd car en plus il ne te dis pas de la creer... et comme je suis debutant je commence a plus rien comprendre. phpmyadmin est utiliser par les suite mais j aurai aimer faire comme dans le livre et debutant sans ca.
0

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

Posez votre question
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
24 mars 2009 à 20:08
Le premier script que tu montres sert à créer la table 'eleve' dans la base de données 'test' ...

Si la base de données 'test' n'a pas été créée, ne t'étonne pas qu'il n'y a pas moyen d'y ajouter une table !

Donc, tu vas dans phpmyadmin, sur la page d'accueil, t'as un champ 'Créer une base de données', tu écris 'test' dans ce champ et tu valides.

Ensuite, ça devrait marcher comme sur des roulettes ...

T'as du sauter quelques pages dans ton bouquin je suppose, ça m'étonnerait beaucoup qu'ils n'aient pas signalé qu'avant de travailler avec une base de données, il s'agit avant tout de la créer !

Cordialement,

IpIpIp Ipone
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
24 mars 2009 à 20:28
je vais essayer mais j ai verifier et verifier en gros le livre te dis de se baser sur une soi disant base de donnee par defaut du serveur car, je cite " si vous travailler sur votre machine les elements par defaut ( localhost , test, root et mot de passe vide devraient convenir ..... ensuite il te dis de creer les scripts...
dans des chapitre precedent il y a par exemple des script qui fonctionnent mais sans etre precis. c est a dire par exemple pour la verification d un formulaire par le javascript tu es obliger de mettre quelque chose dans les widget textarea select et radio sinon le script se lance pas et ne verifie pas si il a bien ete rempli ....
comme quoi je doute de la qualite de certaines choses.... apres il se peut que j ai loupé certaines choses et ceux qui ont se livre .... je ne demande qu a croire a une erreur de ma part mais pour l instant j ai pas trouver mon erreur... bref .. je veux pas jouer les grincheux ...
merci en tout cas
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
24 mars 2009 à 20:34
Après avoir installé phpmyadmin je ne pense pas q'une base de donnée test soit automatiquement créé !

comme quoi je doute de la qualite de certaines choses....

Moi je doute de la qualité de ton bouquin ! ;)

Bon apprentissage, bon courage et bonne continuation !
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
24 mars 2009 à 20:35
je viens de verifier du coup il me dis que la texte test eleve n existe pas donc n est pas annexe a la table test.
peux tu me dire comment la creer et donc l annexe a cette base par le script et non par phpmyadmin car j imagine qu on pe le crreer la
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
24 mars 2009 à 20:37
Heu, non désolé, je ne sais pas comment créer une base de données directement avec une requête sql dans un script php.

Mais je m'en fous, c'est tellement simple de le faire avec phpmyadmin !
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
24 mars 2009 à 20:39
ok merci quand meme c'est super sympa de m avoir aider
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
24 mars 2009 à 20:40
ha finalement, grâce à toi, je viens de l'apprendre ... :)

Pour créer une base de données avec une requete SQL : mysql_query('CREATE DATABASE `test` ;');
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
24 mars 2009 à 20:48
du coup tu me la syntaxe ou ? tu recreer un fichier ou tu le met dans le script 3 voir_dupontpaul et autre


desole mais comme je te l ai dis je debute et les notions sont pas encore toutes la
merci
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
24 mars 2009 à 20:57
$liendb = mysql_connect("localhost","root","");
$sql = 'CREATE DATABASE \'test\';';
mysql_query($sql);
mysql_close($liendb);


Copie ça dans un fichier nommé par exemple "creer_base_de_donnees.php" et exécute ce code une seule fois. (Ben oui, il ne faut pas recréer la base de données à chaque fois, une seul fois suffit !)

Mais franchement, tu devrais installer phpmyadmyn sur ton ordi !

Allez, ami Terrien, courage ! On a tous été des débutants un jour !

(Je dois partir. Si t'as encore des problèmes, j'espère qu'un autre membre répondra à tes questions !)

Bonne soirée !
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
24 mars 2009 à 20:59
cool et encore merci
à+ lau
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
24 mars 2009 à 21:16
du coup ca marche toujours pas !!!! il me dis Table 'test.eleve' doesn't exist
0
Bonjour

As-tu ré-exécuté le script 1 ? car c'est lui qui crée la table test.eleve. Puis le script 2 pour ajouter un élève, bien sûr
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
25 mars 2009 à 18:02
oui bien sur j ai relancé les scripts mais ca marche pas ... j ai meme relance les serveurs ..
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
25 mars 2009 à 20:46
voila l erreur ; dans le script 1 il manque un " l " adress varchar NOT NUL(l)

du coup ca fonctionne !!!!
merci a toi " le PERE " de t etre penché sur le probleme , super sympa

et merci a toi aussi IpIpIpOne !!!!
bonne continuation lau
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
25 mars 2009 à 20:48
IpIpIpIpOne ... s'il te plait ... lol

Content pour toi que ça fonctionne enfin ! :)
0