[PHP/MySql] Probleme avec la connexion a une base de donnée Mysql

Probleme avec la connexion a une base de donnée Mysql [PHP/MySql] - PHP - Programmation

Marsh Posté le 12-03-2006 à 19:34:11    

Salut,
 
Je viens de commencer (hier  :lol: ) a me mettre au php et a mysql, et apres avoir suivi un tuto, et en avoir lu 2 autres pour piger ce qui allait pas, je commence a désespérer. Je me tourne donc vers des spécialistes qui pourraient m'éclairer et me remettre sur la bonne piste.
 
J'ai installé et configuré Apache 2, Php5, MySql, et PhpMyAdmin.
 
Le serveur http, et le php marchent correctement.
 
J'ai créé un utilisateur, avec les privileges, et créé une base de donnée avec une table, et des champs evidemment.
 
J'ai fait une page web pour y afficher le contenu de cette base de données, et les ennuis commencent :
 
- Je n'ai aucun message d'erreur, juste une page blanche.
- J'ai beau modifier le script, nada, page blanche, meme en incluant des elements bidons entre les balises php. Des éléments html en dehors de ces balises s'affichent...
 
Je ne pense pas que ce soit un probleme au niveau du serveur php, un autre script php simple, çà marche.
Au niveau du script, j'en suis presque sur, et c'est là qu'il faut me donner un coup de main  :D  
Cela peut aussi etre un probleme au niveau de mysql ?
 
Merci pour toute aide qui me sera tres précieuse

Reply

Marsh Posté le 12-03-2006 à 19:34:11   

Reply

Marsh Posté le 12-03-2006 à 19:37:11    

Avec le scrip, c'est mieux  :sarcastic:  
 

Citation :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Titre</title>
 <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
 <LINK rel="stylesheet" type="text/css" href="style.css">
 hello
 <?php
 $db = mysql_connect("localhost","user","lemotdepasse" );
 mysql_select_db("test_db",$db);
 $requete = "SELECT * FROM table1_db";
 $result = mysql_query ($requete,$db);
 $article =mysql_fetch_object($result);
 mysql_free_result($result);
 ?>
 
</head>
 
<body>
 
 <?php echo $article->titre ?>
 <BR>
 <?php echo $article->chapeau_long ?>
 <BR>
 <?php echo $article->corps ?>
 
 
</body>
</html>

Reply

Marsh Posté le 12-03-2006 à 20:09:19    

poki85 a écrit :

Avec le scrip, c'est mieux  :sarcastic:  
 

Citation :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Titre</title>
 <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
 <LINK rel="stylesheet" type="text/css" href="style.css">
 hello
 <?php
 $db = mysql_connect("localhost","user","lemotdepasse" );
 mysql_select_db("test_db",$db);
 $requete = "SELECT * FROM table1_db";
 $result = mysql_query ($requete,$db);
 $article =mysql_fetch_object($result);
 mysql_free_result($result);
 ?>
 
</head>
 
<body>
 
 <?php echo $article->titre ?>
 <BR>
 <?php echo $article->chapeau_long ?>
 <BR>
 <?php echo $article->corps ?>
 
 
</body>
</html>



 
peut etre que ceci marche? je n'ai pas verifié, et j'ai fais cela en 30secondes :  
 

Citation :


 <?php  
 mysql_connect("localhost","user","lemotdepasse" );  
 mysql_select_db("test_db" );  
 $requete = "SELECT * FROM table1_db";  
 $result = mysql_query ($requete);  
 $article =mysql_fetch_array($result);  
 ?>  
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
"http://www.w3.org/TR/html4/loose.dtd">  
<html>  
<head>  
<title>Titre</title>  
 <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">  
 <LINK rel="stylesheet" type="text/css" href="style.css">  
 
</head>  
 
<body>  
 
 <?php  
 echo $article['titre'].'<br />';
 echo $article['chapeau_long'].'<br />';
 echo $article['corps'].'<br />';  
 mysql_close();  
 ?>  
</body>  
</html>  

Reply

Marsh Posté le 12-03-2006 à 20:15:18    

merci pour ton aide, mais non çà ne fonctionne pas non plus :(

Reply

Marsh Posté le 12-03-2006 à 20:23:35    

Il existe un truc super en PHP (et aussi dans d'autres langages d'ailleurs) : le résultat d'une fonction :D
C'est pratique, ca permet de savoir ce qui s'est bien passé :whistle:  
 
$db = mysql_connect("localhost","user","lemotdepasse" );  
if (! $db)
    die('erreur connexion : ' . mysql_error());
if (! mysql_select_db("test_db",$db))
    die('erreur select_db : ' . mysql_error());

$requete = "SELECT * FROM table1_db";  
$result = mysql_query ($requete,$db);  
if (! $result)
    die('erreur requete : ' . mysql_error());

 
$article =mysql_fetch_object($result);  
mysql_free_result($result);


Message édité par mrbebert le 12-03-2006 à 20:24:10
Reply

Marsh Posté le 12-03-2006 à 20:29:30    

merci, j'essai çà :)

Reply

Marsh Posté le 12-03-2006 à 20:32:36    

poki85 a écrit :

J'ai créé un utilisateur, avec les privileges, et créé une base de donnée avec une table, et des champs evidemment.


Que se passe-t-il quand tu tapes "mysqlshow -u le_nom_de_ton_utilisateur" ? Est-ce que tu vois ta base ???
 

poki85 a écrit :

J'ai fait une page web pour y afficher le contenu de cette base de données, et les ennuis commencent :
 
- Je n'ai aucun message d'erreur, juste une page blanche.
- J'ai beau modifier le script, nada, page blanche, meme en incluant des elements bidons entre les balises php. Des éléments html en dehors de ces balises s'affichent...
 
Je ne pense pas que ce soit un probleme au niveau du serveur php, un autre script php simple, çà marche.
Au niveau du script, j'en suis presque sur, et c'est là qu'il faut me donner un coup de main  :D  
Cela peut aussi etre un probleme au niveau de mysql ?


C'est quasiment certain. Mais pour en être vraiment sûr, tu vas dans le répertoire contenant "phpMyAdmin", tu édites le fichier "config_inc.je_sais_plus_trop_quoi". Là, tu verras un champ "user" et un champ "password". Dans le champ "user" tu y mets le nom de ton user, dans le champ "password" tu y mets le mot de passe et tu tentes de te connecter à phpMyAdmin via navigateur. Si tu vois ta bdd, alors c'est bon. Si tu ne vois que la bdd "test", alors pas glop. Il te faudra revoir les droits de ton utilisateur (remodifier le fichier "config_inc" pour y remettre le nom de ton admin MySQL)


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 12-03-2006 à 20:33:02    

toujours rien, j'i l'impression que les scripts sont meme pas interprétés...

Reply

Marsh Posté le 12-03-2006 à 21:01:16    

Sve@r a écrit :

Que se passe-t-il quand tu tapes "mysqlshow -u le_nom_de_ton_utilisateur" ? Est-ce que tu vois ta base ???
 
 
C'est quasiment certain. Mais pour en être vraiment sûr, tu vas dans le répertoire contenant "phpMyAdmin", tu édites le fichier "config_inc.je_sais_plus_trop_quoi". Là, tu verras un champ "user" et un champ "password". Dans le champ "user" tu y mets le nom de ton user, dans le champ "password" tu y mets le mot de passe et tu tentes de te connecter à phpMyAdmin via navigateur. Si tu vois ta bdd, alors c'est bon. Si tu ne vois que la bdd "test", alors pas glop. Il te faudra revoir les droits de ton utilisateur (remodifier le fichier "config_inc" pour y remettre le nom de ton admin MySQL)


 
désolé, je n'ai pas trop compris la méthode, mais j'ai pigé le but.
 
J'ai changé et mit en user "root" et en password, rien.
çà ne change rien, j'ai encore une page blanche...
 
mais je pense que si c'était cela, j'aurais un msg d'erreur ?

Reply

Marsh Posté le 12-03-2006 à 22:04:08    

poki85 a écrit :

désolé, je n'ai pas trop compris la méthode, mais j'ai pigé le but.


Ben en fait, le but est que "phpMyAdmin" se connecte avec les droits de ton utilisateur et non ceux de l'admin BDD (qui n'est pas forcément root) pour vérifier.
 
Et si tu tapes (dans une console shell) la commande "mysqlshow -u <le_nom_de_l'utilisateur>" tu vois quoi ???


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 12-03-2006 à 22:04:08   

Reply

Marsh Posté le 13-03-2006 à 14:34:45    

poki85 > J'arrive aprés la bataille, mais quand tu regardes les sources de la page reçu par le navigateur, t'aurais pas le code php à l'intérieur?
D'ailleur, ta page, tu lui as bien mis .php comme extension?

Reply

Marsh Posté le 13-03-2006 à 15:00:10    

ben pour avoir eu le probleme, tu as peut être confondu l'utilisateur et le mot de passe d'acces à mysql avec ceux de ta nouvelle base que tu as créé...

Reply

Marsh Posté le 13-03-2006 à 18:22:15    

Donc en fait, je ne sais pas trop si cela vient du PHP ou de MYSQL.
 
lorsque je met le petit script qui montre les infos php, çà marche.
 
Ensuite, j'essai un script "include" et çà ne marche pas, et le code reste quand j'affiche la source.
 
La syntaxe est bien celle là ???
 
<?
include: 'page.php';
?>
 
Pour mon script de connexion a la BD, le script ne s'affice plus lorsque j'affiche la source...

Reply

Marsh Posté le 13-03-2006 à 18:26:52    

en php, les paramettres d'une fonction se mettent entre parentaise.
Exemple : include('page.php');

Reply

Marsh Posté le 13-03-2006 à 18:29:30    

oups :)

Reply

Marsh Posté le 13-03-2006 à 18:36:22    

je regarde tout çà ce soir

Reply

Marsh Posté le 15-03-2006 à 12:12:41    

Alors quelques news de mon probleme :
 
- J'ai TOUT viré, et installé EasyPHP.
- Ce qui est bien c'est que çà marche du coup... Je penche donc pour un probleme de config de Mysql auparavant. Pourtant j'ai revérifié...
 
- Maintenant, le probleme c'est que, EasyPHP c'est bien joli, mais çà sert uniquement en local ????
- Lorsque je fais 127.0.0.1, mon site est ok (php et acces mysql nickel) mais quand je veux y acceder depuis un autre PC du LAN, nada, et depuis un réseau ditant, laisse tomber aussi.
 
Donc cet utilitaire sert il uniquement a utiliser php et mysql en local ? ou y a t'il un point qui m'évhappe ?

Reply

Marsh Posté le 15-03-2006 à 12:25:45    

le point qui t'échape, c'est que easyphp est fait pour faire tester les dévelopement en local. C'est exactement les même outils que ce qu'on trouve chez les hébergeurs, mais les réglages sont différents.
En clair, regarde le fichier httpd.conf (fichier de configuration d'apache) et tu véras que dedans t'as des réglages différents pour le poste local et pour les autres. Ca doit être à peu prés pareil pour la config de mysql (bien que là, c'est directement dans la base que ca se régle) mais ca c'est pas génant vu que le site est sur le même ordinateur.
 
Moi, ca fait longtemps que j'ai laissé tombé easyphp pour m'installer à la main apache, php et mysql. Du coup, je ne peux pas te dire exactement quel réglage changé dans le httpd.conf .

Reply

Marsh Posté le 18-03-2006 à 17:06:35    

poki85 a écrit :

Alors quelques news de mon probleme :
 
- J'ai TOUT viré, et installé EasyPHP.
- Ce qui est bien c'est que çà marche du coup... Je penche donc pour un probleme de config de Mysql auparavant. Pourtant j'ai revérifié...
 
- Maintenant, le probleme c'est que, EasyPHP c'est bien joli, mais çà sert uniquement en local ????


Non. EasyPHP c'est un serveur internet donc ça marche depuis n'importe quel client...
 

poki85 a écrit :

- Lorsque je fais 127.0.0.1, mon site est ok (php et acces mysql nickel) mais quand je veux y acceder depuis un autre PC du LAN, nada, et depuis un réseau ditant, laisse tomber aussi.


Et si t'essayes depuis ton PC mais que tu mets "http://ip" au lieu de "http://127.0.0.1" ça donne quoi ("ip" étant ta propre IP évidemment)
 
Personnellement j'ai laissé tombé "EasyPHP" au profit de Xamp http://www.apachefriends.org/fr/xampp.html. Je le trouve plus complet tant dans ses outils offerts que dans sa config...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 19-03-2006 à 01:21:04    

poki85 a écrit :

Alors quelques news de mon probleme :
 
- J'ai TOUT viré, et installé EasyPHP.
- Ce qui est bien c'est que çà marche du coup... Je penche donc pour un probleme de config de Mysql auparavant. Pourtant j'ai revérifié...
 
- Maintenant, le probleme c'est que, EasyPHP c'est bien joli, mais çà sert uniquement en local ????
- Lorsque je fais 127.0.0.1, mon site est ok (php et acces mysql nickel) mais quand je veux y acceder depuis un autre PC du LAN, nada, et depuis un réseau ditant, laisse tomber aussi.
 
Donc cet utilitaire sert il uniquement a utiliser php et mysql en local ? ou y a t'il un point qui m'évhappe ?


édite ton httpd.conf et ajoute

Code :
  1. Listen <ton_ip_de_ton_LAN>:80


en dessous de

Code :
  1. Listen 127.0.0.1:80

Reply

Marsh Posté le 19-03-2006 à 08:34:03    

ok, merci, j'ai tout réinstallé, et rajouté cà, çà marche nickel !!!
 
par contre comment faire pour accéder a phpmyadmin depuis un pc distant ? Lorsque je le fais depuis un pc du réseau local, çà ne marche pas, et encore moins depuis un poste ailleurs sur le net :(
 
(je tape http://le_nom_du_site/phpmyadmin/)

Reply

Marsh Posté le 19-03-2006 à 18:45:43    

"le_nom_du_site", il faut (bien évidemment) que ce soit le nom qui permette d'y accéder sur ton réseau local :whistle:  
A priori, ce serait plutôt le nom de la machine sur le réseau :)

Reply

Marsh Posté le 19-03-2006 à 19:29:57    

çà va de soit.
 
a distance, la police change (times au lieu de verdana ou arial) et j'ai des erreurs de connexions...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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