Mysql_fetch_array

ghafkiha Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
macgawel Messages postés 676 Statut Membre -
Bonjour,
je comance d'abord de donner mon code

premier script créer une table

<?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 NUL default '',
prenom varchar(64) NOT NULL default '',
adresse varchar(128) NOT NULL default'',
ville varchar(64) NOT NULL default'',
cp varchar(8) NOT NULL default'',
pays varchar(32) NOT NULL default'france',
sex varchar(8) binary NOT NULL default'',
naissance date NOT NUL 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 enregistrer

<?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 recuperer

<?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);
?>

je sais plus porquoi j'ai ce message

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\livre\enregistrement dans une base de donnée\créer une table\voir paul depont.php on line 13
eleve [1], nom = , prenom =

marci vc

3 réponses

macgawel Messages postés 676 Statut Membre 89
 
Bonjour.

A priori, il y a une erreur dans ta requête... Essaye ce code, ça devrait te donner plus d'infos...
$liendb = mysql_connect("localhost", "root", "") or die ('Erreur de connexion à MySQL '.mysql_error() );
mysql_select_db ("test") or die ('Erreur de connexion à la base '.mysql_error() );
$sql = "SELECT nom, prenom FROM eleve WHERE ideleve = '1'";
$resultat = mysql_query ($sql) or die ('Erreur de requete '.mysql_error().'<br />Requete : '.$sql );
$eleve = mysql_fetch_array ($resultat);
0
ghafkiha Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
merci de me repondre c trés gentil

il m'a afficher cette erreur


Erreur de requete La table 'test.eleve' n'existe pas
Requete : SELECT nom, prenom FROM eleve WHERE ideleve = '1'

merci bc
0
macgawel Messages postés 676 Statut Membre 89
 
Tu as accès à ta base (avec phpMyAdmin, par exemple) ?

Si oui, vérifie que la table est bien créée.

Et repasse le script de création en rajoputant bien des OR DIE(mysql_error()); partout où tu as des fonctions mysql_*
0
ghafkiha Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour

merci de me repondre

mon probleme ce que je peux pas verifier si la table de ma base de donnée a été créée par ce que je sais pas utiliser php admin (http://127.0.0.1/mysql/) et je suis que debutant en php

si vous pouvez me donner un coup de main ou si vous pouvez me montrer c comment je dois faire

merci à vous
0
macgawel Messages postés 676 Statut Membre 89
 
Si tu as installé easyPHP ou un équivalent, tu dois avoir accès à PHPMyAdmin via cette adresse :
http://127.0.0.1/mysql/
Dans le menu (à gauche) tu as accès aux bases de données existantes via la combobox.
Si tu ne trouves pas ta base de données (test), il faudra la créer (toujours faisable par phpMyAdmin)....

Ensuite, passe le script de création de table :
<?php
$liendb = mysql_connect("localhost", "root", "") or die ("Erreur de connexion MySQL ".mysql_error());
mysql_select_db("test") or die ("Erreur de connexion à la base ".mysql_error());
$sql = "CREATE TABLE eleve (
ideleve int(10) unsigned NOT NULL auto_increment,
nom varchar(64) NOT NUL default '',
prenom varchar(64) NOT NULL default '',
adresse varchar(128) NOT NULL default'',
ville varchar(64) NOT NULL default'',
cp varchar(8) NOT NULL default'',
pays varchar(32) NOT NULL default'france',
sex varchar(8) binary NOT NULL default'',
naissance date NOT NUL 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) or die ("Erreur de requête ".mysql_error());
mysql_close($liendb);

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

Puis le script enregistrer :
<?php

http://127.0.0.1/mysql/
Dans le menu (à gauche) tu as accès aux bases de données existantes via la combobox.
Si tu ne trouves pas ta base de données (test), il faudra la créer (toujours faisable par phpMyAdmin)....

Ensuite, passe le script de création de table :
<code><?php
$liendb = mysql_connect("localhost", "root", "") or die ("Erreur de connexion MySQL ".mysql_error());
mysql_select_db("test") or die ("Erreur de connexion à la base ".mysql_error());
$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) or die ("erreur de requête ".mysql_error());
mysql_close($liendb);

echo "eleve < Paul Dupont > enregistré";
?>


Soit dit en passant, je te conseille de faire une fonction php pour ta connexion, une fois que tes scripts fonctionnent. C'est mieux pour la maintenance (imagine quand tu change le mot de passe, le nombre d'endroits où il faut le modifier...)
0