Menu

Pb de connexion à la base de donnée MySQL [Résolu/Fermé]

yahcine86 78 Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention - 5 mars 2008 à 17:46 - Dernière réponse : yahcine86 78 Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention
- 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.
Afficher la suite 

22 réponses

bibi675 394 Messages postés mardi 1 janvier 2008Date d'inscription 30 décembre 2008 Dernière intervention - 5 mars 2008 à 17:51
0
Utile
<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>
yahcine86 78 Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention - 5 mars 2008 à 18:01
0
Utile
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.
chico200987 852 Messages postés mardi 6 avril 2004Date d'inscription 17 mars 2014 Dernière intervention - 5 mars 2008 à 18:09
0
Utile
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 !
bibi675 394 Messages postés mardi 1 janvier 2008Date d'inscription 30 décembre 2008 Dernière intervention - 5 mars 2008 à 19:53
0
Utile
Désolé, j'aurais du te donner l'erreur...
yahcine86 78 Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention - 5 mars 2008 à 20:32
0
Utile
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.
bibi675 394 Messages postés mardi 1 janvier 2008Date d'inscription 30 décembre 2008 Dernière intervention - 6 mars 2008 à 18:13
0
Utile
Essaye de mettre ça : "mysql_query($requete) or die("Erreur SQL : ".mysql_error()."<br/>$sql");"
yahcine86 78 Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention - 6 mars 2008 à 18:41
0
Utile
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
big-fr 296 Messages postés samedi 16 février 2008Date d'inscription 21 février 2011 Dernière intervention - 6 mars 2008 à 18:47
0
Utile
oui c bizzare
bibi675 394 Messages postés mardi 1 janvier 2008Date d'inscription 30 décembre 2008 Dernière intervention - 6 mars 2008 à 20:14
0
Utile
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 ?
yahcine86 78 Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention - 6 mars 2008 à 21:33
0
Utile
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
bibi675 394 Messages postés mardi 1 janvier 2008Date d'inscription 30 décembre 2008 Dernière intervention - 7 mars 2008 à 18:36
0
Utile
<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.
yahcine86 78 Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention - 7 mars 2008 à 18:43
0
Utile
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
bibi675 394 Messages postés mardi 1 janvier 2008Date d'inscription 30 décembre 2008 Dernière intervention - 7 mars 2008 à 19:42
0
Utile
1
<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.
yahcine86 78 Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention - 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
bibi675 394 Messages postés mardi 1 janvier 2008Date d'inscription 30 décembre 2008 Dernière intervention - 8 mars 2008 à 08:31
0
Utile
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>
chico200987 852 Messages postés mardi 6 avril 2004Date d'inscription 17 mars 2014 Dernière intervention - 9 mars 2008 à 13:14
0
Utile
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 ;)
yahcine86 78 Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention - 9 mars 2008 à 15:10
0
Utile
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.
bibi675 394 Messages postés mardi 1 janvier 2008Date d'inscription 30 décembre 2008 Dernière intervention - 9 mars 2008 à 19:14
0
Utile
Change ça :
$requete='INSERT INTO `matable` (nom, email) VALUES ("'.$nom.'", "'.$email.'")';
yahcine86 78 Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention - 11 mars 2008 à 19:28
0
Utile
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.
big-fr 296 Messages postés samedi 16 février 2008Date d'inscription 21 février 2011 Dernière intervention - 24 mars 2008 à 13:18
0
Utile
ok
artekinfo 5 Messages postés samedi 5 juillet 2008Date d'inscription 6 juillet 2008 Dernière intervention - 6 juil. 2008 à 14:58
0
Utile
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
pb de connexion à la base de donnée MySQL - page 2