Posez votre question Signaler

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

yahcine86 78Messages postés samedi 1 mars 2008Date d'inscription 8 octobre 2011 Dernière intervention - Dernière réponse le 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.
Lire la suite 
Réponse
+0
moins plus
<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>
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
+0
moins plus
Désolé, j'aurais du te donner l'erreur...
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
Essaye de mettre ça : "mysql_query($requete) or die("Erreur SQL : ".mysql_error()."<br/>$sql");"
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
oui c bizzare
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
<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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
<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 78Messages 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
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
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>
Ajouter un commentaire
Réponse
+0
moins plus
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 ;)
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
Change ça :
$requete='INSERT INTO `matable` (nom, email) VALUES ("'.$nom.'", "'.$email.'")';
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
ok
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé «  pb de connexion à la base de donnée MySQL  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.