Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1908 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°210570
maya338
Posté le 08-09-2002 à 12:01:13  profilanswer
 

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>
 
 
 

mood
Publicité
Posté le 08-09-2002 à 12:01:13  profilanswer
 

n°210575
joce
Architecte / Développeur principal
&#034;BugHunter&#034;
Posté le 08-09-2002 à 12:07:54  profilanswer
 

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é
n°210577
joce
Architecte / Développeur principal
&#034;BugHunter&#034;
Posté le 08-09-2002 à 12:09:55  profilanswer
 

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é
n°210582
maya338
Posté le 08-09-2002 à 12:16:11  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

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

 

Sujets relatifs
[PHP]limiter le nombre de reponse (forum) par page...Erreur d'execuiton '53'...Que faire ?
[PHP] Formulaire pour forum - {enter} {espace} smiley, images...Trouver un numero de ligne dans MySQL
[PHP] Uploader le contenu d'un repertoire[HTML][PHP]pkoi les champs <INPUT type= text>ne prend pas les espaces
[PHP/sql] SYStèeme de VOTE (pas de sondage...)[PHP] Faire apparaitre une image... pour un temps limité !
Erreur activex --> ADODB.Recordset ??[PHP] J'arrive pas à enlever les " \ " devant les caractères spéciaux
Plus de sujets relatifs à : [PHP]Erreur accès à une base de donnée Mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR