[PHP]Erreur accès à une base de donnée Mysql

Erreur accès à une base de donnée Mysql [PHP] - PHP - Programmation

Marsh Posté le 08-09-2002 à 12:01:13    

salut
 
je débute en php
 
et j'ai un petiti problème avec un exemple du manuel php que je lie actuellement (php pour débutants :compétence micro)
 
c'est un exemple qui permet de créer une base de donnée(data1.php)
d'y créer une table (data2.php)
et de remplir la table (data3.php)
 
pour info : j'utilise easyphp
 
J'arrive bien à créer la Base de donnée et la table mais après j'ai une erreur
 
[quoteWarning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\program files\easyphp\www\coursphp_competence_micro\sqlstart\data3.php on line 46[/quote]
 
Qui a une idée ? MERCI
 
voici data1.php,data2.php et data3.php
 
<html>
<head>
<title>Accès à la base de données</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="nouveau.css">
</head>
<body>
<h1>Accès à la base de données (mySQL)</h1>
 
<?php
// Nous fixons les variables d'accès à la base de données
 
$host="localhost";
$user="root"; // à demander au fournisseur ou laisser vide
$password=""; // à demander au fournisseur ou laisser vide
 
// Fin de la définition
?>
 
<h3>1. Veuillez donner un nom à la base de données :</h3>
<p>Exemple : <b>opinions </b>!</p>
 
<!-- Formulaire qui récupère le nom de la base de données -->
<form action="data1.php" method="post">
<!-- La valeur de ce champ sera stockée dans la variable $db_name -->
<input type="text" name="db_name">
<input type="submit" value="Nom de la base de données">
</form>
 
<?php
if (isset($db_name)) { // La variable $db_name a-t-elle été définie ?
 
// Connexion à mysql
$pointeur_db=mysql_connect($host,$user,$password);
 
// création de la nouvelle base de données, retourne true si la création réussit
if (mysql_create_db($db_name,$pointeur_db)) {
 
// Création réussie
echo "<p>La base de données <b>$db_name</b> a été <i>correctement</i> installée.</p>\n";
?>
 
<!-- Le formulaire suivant permet le transfert vers data2.php.
Toutes les valeurs des variables sont transférées à la page suivante -->
 
<form action="data2.php" method="post">
<input type="hidden" name="host" value="<?php echo $host ?>">
<input type="hidden" name="user" value="<?php echo $user ?>">
<input type="hidden" name="password" value="<?php echo $password ?>">
<input type="hidden" name="db_name" value="<?php echo $db_name ?>">
<input type="hidden" name="pointeur_db" value="<?php echo $pointeur_db ?>">
 
<input type="submit" value="Étape suivante -->" style="color: blue; font-weight: bold;">
</form>
<?php
}
else
{
echo "<p>La base de données $db_name n'a <b>pas</b> pu être installée.\n";
echo "<b>Remarque :</b> Si la base de données est déjà installée, une nouvelle tentative de création échouera.</p>\n";
mysql_close($pointeur_db); // Fermer la connexion vers la base de données
}  
}
?>
</p>
</body>
</html>
 
data2.php
<html>
<head>
<title>Accès à la base de données</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="nouveau.css">
</head>
<body>
<h1>Accès à la base de données (mySQL)</h1>
 
<h3>2. Création de table(s) avec des instructions SQL :</h3>
<p class="cadre">Vous utilisez la base de données <b><?php echo $db_name ?></b>!</p>  
<p>Remarque : Utilisez la commande de création des tables et des champs. Suivez la syntaxe proposée.  Je recommande vivement l'utilisation immédiate de la clé primaire (id). Vous pouvez modifier les valeurs commençant par une <i>étoile</i>, mais pensez au moins à supprimer l'étoile.</p>
 
<form action="data2.php" method="post">
 
<p>CREATE table  
<input type="text" name="tbl_name" value="*donnees" style="font-weight: bold;" size="8">  
(<br>
<textarea rows="10" cols="60" wordwrap="soft" name="sql2">
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
*nom VARCHAR(30),
*email TEXT,
*commentaire TEXT
)
</textarea>
<input type="hidden" name="host" value="<?php echo $host ?>">
<input type="hidden" name="user" value="<?php echo $user ?>">
<input type="hidden" name="password" value="<?php echo $password ?>">
<input type="hidden" name="db_name" value="<?php echo $db_name ?>">
<input type="hidden" name="pointeur_db" value="<?php echo $pointeur_db ?>">
 
<br><input type="submit" value="Exécuter les instructions SQL">
</p>
</form>
 
 
<?php
if (isset($tbl_name) && isset($sql2)) {
$sql="CREATE table $tbl_name ( $sql2";
$pointeur_db=mysql_connect($host,$user,$password);
mysql_select_db($db_name,$pointeur_db);
if (mysql_query($sql,$pointeur_db)) {
echo "<p>Les instructions SQL sont correctes, la table <b>$tbl_name</b> a été créée !</p>\n";
// mysql_close($pointeur_db);
?>
<p>Vous pouvez, si vous le souhaitez, créer une autre table. Ou alors, vous pouvez déjà saisir des données dans votre base de données !</p>
 
<form action="data3.php" method="post">
<input type="hidden" name="host" value="<?php echo $host ?>">
<input type="hidden" name="user" value="<?php echo $user ?>">
<input type="hidden" name="password" value="<?php echo $password ?>">
<input type="hidden" name="db_name" value="<?php echo $db_name ?>">
<input type="hidden" name="pointeur_db" value="<?php echo $pointeur_db ?>">
<input type="button" value="Modifier la base de données avec PHPmyAdmin"
 onclick="location.href='../phpmyadmin/index.php'">
<input type="submit" value="Saisie de données -->" style="color: blue; font-weight: bold;">
</form>
 
<?php
}
else {
echo "<p>Les instructions SQL sont <b>incorrectes</b> !</p>\n";
}
}
?>
</body>
</html>
 
data3.php
<html>
<head>
<title>Accès à la base de données</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="nouveau.css">
</head>
<body>
<h1>Accès à la base de données (mySQL)</h1>
 
<h2>Vous pouvez saisir ici les nouvelles données d'opinion</h2>
 
<form action="<? $PHP_SELF ?>" method="post">
<p>
Veuillez saisir votre <b>Nom</b> :  
<input type="text" name="nom"><br>
Veuillez saisir votre <b>adresse email</b> :
<input type="text" name="email"><br><br>
 
Un <b>commentaire</b> :<br>
<textarea cols="60" rows="4" wordwrap="soft" name="commentaire">
</textarea><br>  
<input type="submit" value="Envoyer les données">
</p>
</form>
 
<?php
// Connexion
 
mysql_connect("localhost","root","" );
 
// Ouverture et sélection de la base de données :
 
mysql_select_db("opinions" );
 
// Insertion des données :
if (isset($nom) && isset($email) && isset($commentaire)) {
mysql_query ("INSERT INTO donnees (nom, email, commentaire)  
VALUES ('$nom', '$email', '$commentaire';)" );
}
// Affichage des données
 
$result = mysql_query ("SELECT * FROM donnes" );
 
// Boucle de remplissage du tableau de l'ensemble des données
 
while($row = mysql_fetch_array($result))  
{
echo "<b>$row[nom]</b>, <i>$row[email]</i> <br>\n";
echo "a saisi le commentaire : <br>$row[commentaire]<br>\n";
}
// Fermeture de la base de données
mysql_close();
?>
</body>
</html>
 
 
 

Reply

Marsh Posté le 08-09-2002 à 12:01:13   

Reply

Marsh Posté le 08-09-2002 à 12:07:54    

Vous pouvez modifier les valeurs commençant par une étoile, mais pensez au moins à supprimer l'étoile..


Message édité par joce le 08-09-2002 à 12:08:11

---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 12:09:55    

mysql_query ("INSERT INTO donnees (nom, email, commentaire)  
VALUES ('$nom', '$email', '$commentaire';)" );  
}  
// Affichage des données  
 
$result = mysql_query ("SELECT * FROM donnes" );  
 
typo...


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-09-2002 à 12:16:11    

joce a écrit a écrit :

mysql_query ("INSERT INTO donnees (nom, email, commentaire)  
VALUES ('$nom', '$email', '$commentaire';)" );  
}  
// Affichage des données  
 
$result = mysql_query ("SELECT * FROM donnes" );  
 
typo...




 
merci je vais assayer de suite

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed