Probleme avec mysql / php simple

Résolu/Fermé
Signaler
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012
-
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
-
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

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());
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

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...
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
113
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
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

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.
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
113
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
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

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
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
113
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 !
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

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
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
113
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 !
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

ok merci quand meme c'est super sympa de m avoir aider
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
113
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` ;');
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

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
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
113
$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 !
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

cool et encore merci
à+ lau
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

du coup ca marche toujours pas !!!! il me dis Table 'test.eleve' doesn't exist
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
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

oui bien sur j ai relancé les scripts mais ca marche pas ... j ai meme relance les serveurs ..
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

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
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
113
IpIpIpIpOne ... s'il te plait ... lol

Content pour toi que ça fonctionne enfin ! :)