Pb de connexion à la base de donnée MySQL

Résolu/Fermé
yahcine86 Messages postés 78 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 octobre 2011 - 5 mars 2008 à 17:46
yahcine86 Messages postés 78 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 octobre 2011 - 5 févr. 2009 à 15:54
Bonjour,


Est-il normal que mes tentative de connexion à ma base de donnée sur MySQL échoue constamment ?

j'utilise EasyPHP 2.0, j'ai créer une base de donnée nommé "test" de dans il y a une table nommée "table" sur MySQL,

nom du serveur : "localhost"
base de donnée : "test"
utilisateur : "root"
mot de passe : ""

j'ai créer une page php que j'ai placé dans la racine www, voici son code :

<html>
<head><title>connexion</title></head>
<body>
<?php
$mysql_serveur = "localhost"; 
$mysql_pseudo = "root";
$mysql_pass = "";
$mysql_bdd = "test"; 

$connexion = mysql_pconnect($mysql_serveur,$mysql_user,$mysql_pass) or die('<p>Erreur de connexion à  la base de données</p>');
if(!$connexion) die("Pas de connexion à  la base de donnéee");
if(!mysql_select_db($mysql_bdd,$connexion)) die("Pas de base de donnée sélectionnée");
?>
</body>
</html>


et voici le message que je reçoi:

Notice: Undefined variable: mysql_user in C:\Program Files\EasyPHP 2.0b1\www\connexion.php on line 10

Warning: mysql_pconnect() [function.mysql-pconnect]: Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 2.0b1\www\connexion.php on line 10

Erreur de connexion à la base de données

si quelqu'un pourrai m'aider svp, merci pour vos réponses.

21 réponses

bibi675 Messages postés 387 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 30 décembre 2008 20
5 mars 2008 à 17:51
<html>
<head><title>connexion</title></head>
<body>
<?php
$mysql_serveur = "localhost"; 
$mysql_pseudo = "root";
$mysql_pass = "";
$mysql_bdd = "test"; 

$connexion = mysql_pconnect($mysql_serveur,$mysql_pseudo,$mysql_pass) or die('<p>Erreur de connexion à  la base de données</p>');
if(!$connexion) die("Pas de connexion à  la base de donnéee");
if(!mysql_select_db($mysql_bdd)) die("Pas de base de donnée sélectionnée");
?>
</body>
</html>
0
yahcine86 Messages postés 78 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 octobre 2011 1
5 mars 2008 à 18:01
Merci pour ta réponse,

maintenant ma page est blanche, cela veut-il dire que je suis connecté ?

par la même occasion si tu pouvais me montré comment je peut alimenter ma table avec un formulaire, en sachant qu'elle contient 2 champs "nom" "email" sur le formulaire les champs ont les même nom que sur ma table.

merci infiniment.
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 144
5 mars 2008 à 18:09
Il t'a corrigé sans te dire l'erreur.

Tu as déclaré $mysql_pseudo mais tu as utilisé $mysql_user dans ta connexion, voilà l'erreur.

Pour alimenter ta table :

Met un bouton submit sur une page php ou sur elle même et tu mets :

$nom = $_POST['nom'];
$email = $_POST['email'];

$requete = "INSERT INTO test nom,email VALUES(".$nom.",".$email.")";

mysql_query($requete);

Vérifié sur phpMyadmin si tu as tes insertions après rafraîchissement ;)

Par contre, tu dois avoir un id, mon script ne marchera que s'il est en incrémentation auto, sinon dit-le et je t'arrangerais ça ;o)

Bonne prog !
0
bibi675 Messages postés 387 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 30 décembre 2008 20
5 mars 2008 à 19:53
Désolé, j'aurais du te donner l'erreur...
0

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

Posez votre question
yahcine86 Messages postés 78 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 octobre 2011 1
5 mars 2008 à 20:32
re,

comme tu me la demandé j'ai mis un premier champs nommé num, jlé mis en auto incrémentassions
et j'ai insérer le code que tu ma passé dans ma page.

alors il faut savoir qu'il y a deux pages, une avec le formulaire basic voici son code :

<html><head><title>formulaire</title></head>
<body>
<form method="post" action="connexion.php"  >
<TABLE BORDER=0>
<TR>
<TD>nom</TD>
<TD><INPUT type=text name="nom"></TD>
</TR>
<TR>
<TD>email</TD>
<TD><INPUT type=text name="email"></TD>
</TR>
<TR>
<TD><INPUT type="submit" value="Envoyer"></TD>
</TR>
</TABLE>
</form>
</body>
</html>


et une page avec mon script php de connexion et de transfert des donnée vers ma table, voici son code :

<html>
<head><title>connexion</title></head>
<body>
<?php

$mysql_serveur = "localhost"; 
$mysql_pseudo = "root";
$mysql_pass = "";
$mysql_bdd = "test"; 

$connexion = mysql_pconnect($mysql_serveur,$mysql_pseudo,$mysql_pass) or die('<p>Erreur de connexion à  la base de données</p>');

if(!$connexion) die("Pas de connexion à  la base de donnée");
if(!mysql_select_db($mysql_bdd)) die("Pas de base de donnée sélectionnée");

$nom = $_POST['nom'];
$email = $_POST['email'];

$requete="INSERT INTO test nom, email VALUES (".$nom.", ".$email.")";

mysql_query($requete);
?>
</body>
</html> 


quant je click sur envoyé sur le formulaire, il m'affiche une page blanche, sa veut dire que la connexion s'est parfaitement faite (c'est déjà ça lol) mais quant je vais vérifier l'état de ma base je ne trouve pas l'enregistrement que je lui envoi.

je vous avoue que ça me pose un vrai problème, merci pour vos réponses.
0
bibi675 Messages postés 387 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 30 décembre 2008 20
6 mars 2008 à 18:13
Essaye de mettre ça : "mysql_query($requete) or die("Erreur SQL : ".mysql_error()."<br/>$sql");"
0
yahcine86 Messages postés 78 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 octobre 2011 1
6 mars 2008 à 18:41
Merci pour ta réponse, il y a un légé progré, voici le code que j'ai mis :

<html>
<head><title>connexion</title></head>
<body>
<?php
$mysql_serveur = "localhost"; 
$mysql_pseudo = "root";
$mysql_pass = "";
$mysql_bdd = "test"; 

$connexion = mysql_connect($mysql_serveur,$mysql_pseudo,$mysql_pass) or die('<p>Erreur de connexion à  la base de données</p>');

if(!$connexion) die("Pas de connexion à  la base de donnée");
if(!mysql_select_db($mysql_bdd)) die("Pas de base de donnée sélectionnée");

$nom = $_POST['nom'];
$email = $_POST['email'];

$requete="INSERT INTO `matable` (nom, email) VALUES (".$nom.", ".$email.")";

mysql_query($requete) or die("Erreur SQL : ".mysql_error()."<br/>$sql");	   

mysql_close($connexion); 


</body>
</html>


Il refuse n'importe quel saisie dans les champs nom et email sauf

quant je saisie le mot "nom" dans le champs nom
le mot "email" dans le champs email

et quant je vérifie l'état de ma table, je voie qu'il ajoute des ligne (des enregistrement) vide avec aucune donnée

c'est assez bizard non ?

en tout cas merci bcq pour ton intervention et si tu pouvais m'aider encore stp
0
Profil bloqué
6 mars 2008 à 18:47
oui c bizzare
0
bibi675 Messages postés 387 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 30 décembre 2008 20
6 mars 2008 à 20:14
oui c bizzare

Si tu pouvais éviter ce genre de commentaires qui servent rien...

Sinon Yahcine, que retourne ton script dans la fenêtre du navigateur ?
0
yahcine86 Messages postés 78 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 octobre 2011 1
6 mars 2008 à 21:33
merci pour ta reponse,

premièrement dans mon formulaire je saisie:

nom: babar
email: babar@hotmail.fr
et j'envoi

le navigateur m'affiche:

Notice: Undefined variable: sql in C:\Program Files\EasyPHP 2.0b1\www\essai\connexion.php on line 20
Erreur SQL : Erreur de syntaxe près de '@hotmail.fr)' à la ligne 1

je vire @hotmail.fr et j'envoi

il m'affiche:


Notice: Undefined variable: sql in C:\Program Files\EasyPHP 2.0b1\www\essai\connexion.php on line 20
Erreur SQL : Champ 'babar' inconnu dans field list

c'est a dire " babar" dans le champ nom

je le suprime, j'ai je le remplace par un autre nom et le pb est le même, il refuse d'envoyer, sauf quant je rempli le champs nom par "nom" et le champs email par "email", la il envoi a la table, et affiche une page navigateur blanche.

je vai voir ma base, il y a un enregistrement en plus mais il est vide, aucune donnée.

voici mon code formulaire:

<html><head><title>Formulaire</title></head>
<body>
<form method="post" action="connexion.php"  >
<TABLE BORDER=0>
<TR>
	<TD>nom</TD>
	
	<TD>
	<INPUT type=text name="nom">
	</TD>
	
</TR>
<TR>
	<TD>email</TD>
	
	<TD>
	<INPUT type=text name="email">
	</TD>
</TR>
<TR>
	<TD>
	<INPUT type="submit" value="Envoyer">
	</TD>
</TR>
</TABLE>
</form>
</body>
</html>


et voila mon code php de la page de connexion et d'alimentation de ma table

<html>
<head><title>connexion</title></head>
<body>
<?php
$mysql_serveur = "localhost"; 
$mysql_pseudo = "root";
$mysql_pass = "";
$mysql_bdd = "test"; 

$connexion = mysql_connect($mysql_serveur,$mysql_pseudo,$mysql_pass) or die('<p>Erreur de connexion à  la base de données</p>');

if(!$connexion) die("Pas de connexion à  la base de donnée");
if(!mysql_select_db($mysql_bdd)) die("Pas de base de donnée sélectionnée");

$nom = $_POST['nom'];
$email = $_POST['email'];

$requete="INSERT INTO `matable` (nom, email) VALUES (".$nom.", ".$email.");";

mysql_query($requete) or die("Erreur SQL : ".mysql_error()."<br/>$sql");	   

mysql_close($connexion); 

?>

</body>
</html>



Merci encore
0
bibi675 Messages postés 387 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 30 décembre 2008 20
7 mars 2008 à 18:36
<html>
<head><title>Connexion</title></head>
<body>
<?php
$mysql_serveur = "localhost"; 
$mysql_pseudo = "root";
$mysql_pass = "";
$mysql_bdd = "test"; 

$connexion = mysql_connect($mysql_serveur,$mysql_pseudo,$mysql_pass) or die('<p>Erreur de connexion à  la base de données</p>');

if(!$connexion) die("Pas de connexion à  la base de donnée");
if(!mysql_select_db($mysql_bdd)) die("Pas de base de donnée sélectionnée");

$nom = $_POST['nom'];
$email = $_POST['email'];

$requete="INSERT INTO `matable` (nom, email) VALUES $nom, $email";

mysql_query($requete) or die("Erreur SQL : <b>".mysql_error()."</b><br/>$requete");	   

mysql_close($connexion); 

?>

</body>
</html>

Essaye ça.
0
yahcine86 Messages postés 78 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 octobre 2011 1
7 mars 2008 à 18:43
merci pour ta reponse,

alors pour une saisie nom: dupond
email : dupont@hotmail.fr

il m'affiche:


Erreur SQL : Erreur de syntaxe près de 'dupond, dupont@hotmail.fr' à la ligne 1
INSERT INTO `matable` (nom, email) VALUES dupond, dupont@hotmail.fr
0
bibi675 Messages postés 387 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 30 décembre 2008 20
7 mars 2008 à 19:42
<html>
<head><title>Connexion</title></head>
<body>
<?php
$mysql_serveur = "localhost"; 
$mysql_pseudo = "root";
$mysql_pass = "";
$mysql_bdd = "test"; 

$connexion = mysql_connect($mysql_serveur,$mysql_pseudo,$mysql_pass) or die('<p>Erreur de connexion à  la base de données</p>');

if(!$connexion) die("Pas de connexion à  la base de donnée");
if(!mysql_select_db($mysql_bdd)) die("Pas de base de donnée sélectionnée");

$nom = $_POST['nom'];
$email = $_POST['email'];

$requete='INSERT INTO `matable` (nom, email) VALUES "'.$nom.'", "'.$email.'';

mysql_query($requete) or die("Erreur SQL : <b>".mysql_error()."</b><br/>$requete");	   

mysql_close($connexion); 

?>

</body>
</html>

Cette fois c'est la bonne.
0
yahcine86 Messages postés 78 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 octobre 2011 1
7 mars 2008 à 20:00
re

sa donne la même chose, je pense que les requete son bien, je croi que le pb vient de easyphp

merci d'avoir tenter
0
bibi675 Messages postés 387 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 30 décembre 2008 20
8 mars 2008 à 08:31
Non, non, il doit y avoir une erreur quelque part.
Ah ben effectivement j'avais oublier un guillemet :
<html>
<head><title>Connexion</title></head>
<body>
<?php
$mysql_serveur = "localhost"; 
$mysql_pseudo = "root";
$mysql_pass = "";
$mysql_bdd = "test"; 

$connexion = mysql_connect($mysql_serveur,$mysql_pseudo,$mysql_pass) or die('<p>Erreur de connexion à  la base de données</p>');

if(!$connexion) die("Pas de connexion à  la base de donnée");
if(!mysql_select_db($mysql_bdd)) die("Pas de base de donnée sélectionnée");

$nom = $_POST['nom'];
$email = $_POST['email'];

$requete='INSERT INTO `matable` (nom, email) VALUES "'.$nom.'", "'.$email.'"';

mysql_query($requete) or die("Erreur SQL : <b>".mysql_error()."</b><br/>$requete");	   

mysql_close($connexion); 

?>

</body>
</html>
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 144
9 mars 2008 à 13:14
Effectivement petite erreur d'inatention, ce sont des chaines de caractères donc il leur faut des quotes autour ^^ Ce script devrait marcher ;)

P.S : En information programmation, rien est bizzard, tout est logique ;)
0
yahcine86 Messages postés 78 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 octobre 2011 1
9 mars 2008 à 15:10
dsl mais javais déjà corrigé cette erreur sur le coup, mais sa marche tjr pas, il doit y avoir un pb de configuration au niveau de easyphp.
0
bibi675 Messages postés 387 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 30 décembre 2008 20
9 mars 2008 à 19:14
Change ça :
$requete='INSERT INTO `matable` (nom, email) VALUES ("'.$nom.'", "'.$email.'")';
0
yahcine86 Messages postés 78 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 octobre 2011 1
11 mars 2008 à 19:28
re

je suis allé en cours, je me suis fait aider c t un pb de cote double et simple mais aussi de version de easyphp, avec la 2.0 sa marche pas, mais avec le 1.8 sa marche. voila le code qui marche sous 1.8 juste aprés instalation sans configuration, j'ai rien touché:

<html>
<head><title>Connexion</title></head>
<body>
<?php
$mysql_serveur = "localhost"; 
$mysql_pseudo = "root";
$mysql_pass = "";
$mysql_bdd = "test"; 

$connexion = mysql_connect($mysql_serveur,$mysql_pseudo,$mysql_pass) or die('<p>Erreur de connexion à  la base de données</p>');

if(!$connexion) die("Pas de connexion à  la base de donnée");
if(!mysql_select_db($mysql_bdd,$connexion)) die("Pas de base de donnée sélectionnée");

$nom = $_POST['nom'];
$email = $_POST['email'];

$requete="INSERT INTO `matable`  VALUES ('','".$nom."', '".$email."');";

$result=mysql_query($requete) or die("Erreur SQL : <b>".mysql_error()."</b><br/>$requete");	   

if($result)
{echo "ok !";}
mysql_close($connexion); 

?>

</body>
</html>


Un grand merci à tous les gens qui ont contribué a mon aide, sa fait plaisir, à bientôt.
0
Profil bloqué
24 mars 2008 à 13:18
ok
0
artekinfo Messages postés 5 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 6 juillet 2008
6 juil. 2008 à 14:58
Bonjour ,
quand je consulte ma base de donnée sur le lien suivant : www.avocatsdumaroc.com/avocatsdumaroc
rien ne s'affiche , priere de m'aider c'est urgent svp;Apres analyse d’erreur j’ai ce message la :
Base de données bdavocats sur le serveur 192.168.5.22
PMA Database ... en erreur[ Documentation ]
Fonctions relationnelles désactivé

Configuration php
<?php
if(!defined('RG_EMULATION')) { define( 'RG_EMULATION', 0 ); }
$mosConfig_offline = '0';
$mosConfig_host = 'localhost';
$mosConfig_user = '*************';
$mosConfig_password = '**********';
$mosConfig_db = 'bdavocats';
$mosConfig_dbprefix = 'jos_';
$mosConfig_lang = "french";
$mosConfig_absolute_path = '/home/www.avocatsdumaroc.com/Content/avocats-du-maroc';
$mosConfig_live_site = 'http://www.avocatsdumaroc.com/avocats-du-maroc/';
$mosConfig_sitename = 'avocats du maroc';
$mosConfig_shownoauth = '0';
$mosConfig_useractivation = '1';
$mosConfig_uniquemail = '1';
$mosConfig_offline_message = 'Le site est en cours de maintenance.<br /> Merci de repasser plus tard.';
$mosConfig_error_message = 'Le site est momentanment indisponible.<br /> Veuillez notifier le webmaster.';
$mosConfig_debug = '0';
$mosConfig_lifetime = '900';
$mosConfig_session_life_admin = '1800';
$mosConfig_session_type = '0';
$mosConfig_MetaDesc = 'Joomla - le portail dynamique de gestion de contenu';
$mosConfig_MetaKeys = 'Joomla, joomla';
$mosConfig_MetaTitle = '1';
$mosConfig_MetaAuthor = '1';
$mosConfig_locale = 'fr_FR';
$mosConfig_offset = '0';
$mosConfig_offset_user = '0';
$mosConfig_hideAuthor = '0';
$mosConfig_hideCreateDate = '0';
$mosConfig_hideModifyDate = '0';
$mosConfig_hidePdf = '0';
$mosConfig_hidePrint = '0';
$mosConfig_hideEmail = '0';
$mosConfig_enable_log_items = '0';
$mosConfig_enable_log_searches = '0';
$mosConfig_enable_stats = '0';
$mosConfig_sef = '0';
$mosConfig_vote = '0';
$mosConfig_gzip = '0';
$mosConfig_multipage_toc = '1';
$mosConfig_allowUserRegistration = '1';
$mosConfig_link_titles = '0';
$mosConfig_error_reporting = 7;
$mosConfig_list_limit = '30';
$mosConfig_caching = '0';
$mosConfig_cachepath = '/home/www.avocatsdumaroc.com/Content/avocats-du-maroc/cache';
$mosConfig_cachetime = '900';
$mosConfig_mailer = 'mail';
$mosConfig_mailfrom = 'yasssi02@hotmail.com';
$mosConfig_fromname = 'avocat du maroc';
$mosConfig_sendmail = '/usr/sbin/sendmail';
$mosConfig_smtpauth = '0';
$mosConfig_smtphost ='localhost';
$mosConfig_smtpuser = '**************';
$mosConfig_smtppass = '************';
$mosConfig_back_button = '1';
$mosConfig_item_navigation = '1';
$mosConfig_secret = 'vl7A6YSDGxDyPATk';
$mosConfig_pagetitles = '1';
$mosConfig_readmore = '1';
$mosConfig_hits = '1';
$mosConfig_icons = '1';
$mosConfig_favicon = 'favicon.ico';
$mosConfig_fileperms = '';
$mosConfig_dirperms = '';
$mosConfig_helpurl = 'http://www.joomlafacile.com';
$mosConfig_multilingual_support = '0';
$mosConfig_editor = 'tinymce';
$mosConfig_admin_expired = '1';
$mosConfig_frontend_login = '1';
$mosConfig_frontend_userparams = '1';
$mosConfig_itemid_compat = '0';
$sss=@mysql_connect($mosConfig_smtphost,$mosConfig_user,$mosConfig_smtppass);
@mysql_select_db($mosConfig_db,$sss);
setlocale (LC_TIME, $mosConfig_locale);
?>
Connexion php
<?php
// Paramtres persos
$host = 'localhost'; // voir hbergeur
$user = '***********'; // vide ou "root" en local
$pass = "********"; // vide en local
$bdd = "bdavocats"; // nom de la BD
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db("$bdd")
or die("Impossible de se connecter");
?>

merci pour votre aide
0