Serveur Apache - Probleme connection a base SQL

Antoine21
Invité n'ayant pas de compte PHPfrance

05 mai 2005, 15:19

Bonjour a tous !

je m'adresse a tous les possesseurs de serveur Apache sous Windows avec inclus PHP, MySQL et phpMyAdmin.

Mon probleme est le suivant :
j'ai realise l'installation et configuration de mon serveur grace a ce tutorial : http://giminik.developpez.com/apache/index.php
(faites valider en bas de pages)

J'ai suivi la procedure a la lettre. les tests qu'ils mont fait faire se sont realise avec 100% de reussites.

Seulement, j'en arrive au probleme, des qu'il y a une demande de connection a la base SQL au travers de pages php, il y a plus personnes :'(

Je m'explique :

Code : Tout sélectionner

<? echo "Etape 1"; $db = mysql_connect('localhost', 'root', 'password') or die("DIE !!!"); mysql_select_db('oxyd_xrs',$db); echo "Etape 2"; echo "$db"; ?>
L'etape 1 s'affiche sur la page, mais apres plus rien. J'ai beau essaye avec tous les utilisateurs crées, avec ou sans die, bref rien a faire. Rien ne s'affiche apres l'etape 1.

Pourtant, j'ai aussi installé phpMyAdmin qui lui marche parfaitement.

J'aimerai savoir si quelqu'un a deja rencontré ce probleme, et comment il a pu le resoudre, ou si vous avez d'autres suggestions, faites en moi part, merci :)

PS : j'ai releve qque chose dans les variables et réglages du serveur SQL qui me troublait un peu :
--> max user connections | 0 | 0
Ne serait ce pas le probleme ? et si oui ou le modifier car je ne le trouve pas dans le fichier my.ini :S

Merci a vous !!! :)

Eléphant du PHP | 219 Messages

05 mai 2005, 15:30

Salut Antoine,

Le mot de passe est surement vide donc :
<?
echo "Etape 1";
$db = mysql_connect("localhost", "root", "") or die("DIE !!!");
mysql_select_db('oxyd_xrs',$db);
echo "Etape 2";
echo "$db";
?> 
Un conseil : affiche toujours l'erreur que renvoie mysql pour débugger :
$db = mysql_connect("localhost", "root", "") or die("DIE !!!" . mysql_error());
a+
daoud

Mammouth du PHP | 19672 Messages

05 mai 2005, 15:30

Tu vas essayer de faire aficher les messages d'erreur au lieu d'arrêter le processus:
<?
echo "Etape 1";
$db = mysql_connect('localhost', 'root', 'password') or die("<p>Erreur MySQL numéro : ". mysql_errno() ."; Définition : ". mysql_error() ."</p>\n");
mysql_select_db('oxyd_xrs',$db)die("<p>Erreur MySQL numéro : ". mysql_errno() ."; Définition : ". mysql_error() ."</p>\n");
echo "Etape 2";
echo "$db";
?> 
Le processus arrêtera en cas d'erreur mais afficher le numéro d'erreur et l'intitulé de l'erreur.

Voir le manuel à mysql_errno() et à mysql_error()
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

05 mai 2005, 17:25

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD> <BODY></BODY></HTML>
Voila ce qui est retourné, et ceci lorsque lon affiche le code source de la page :(

Impossible de voir quoi que ce soit, ni message derreur, ni texte html...

Je confirme, il y a bien un password, je l'ai remplacé par "password" juste pour eviter de le dissimuler sur le forum, mais il y en a bien un, j'ai verifié dans la table des USER a la ligne du ROOT.

Je pense qu'il y a qque chose qui n'est pas activé, au niveau de la communication entre les requetes PHP aux databases SQL, ya til un reglage a faire la dedans ???

Merci

Invité
Invité n'ayant pas de compte PHPfrance

05 mai 2005, 17:27

En revanche, lorsque je passe en commentaire la ligne du mysql_select_db

Code : Tout sélectionner

//mysql_select_db('oxyd_xrs',$db)die("<p>Erreur MySQL numéro : ". mysql_errno() ."; Définition : ". mysql_error() ."</p>\n");
Eh bien, l'echo Etape 1 a bien marché, on le voit sur la page.

Y a t-il quelque chose a comprendre ??? :roll:

Mammouth du PHP | 19672 Messages

05 mai 2005, 17:29

J'ai une question qui peut avoir l'air bête : mais arrives-tu à afficher une page normale avec son contenu sans requête ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

05 mai 2005, 18:28

Code : Tout sélectionner

<html> <head> <title>register_globals défini à Off</title> </head> <body> <?php echo $_GET['nom']; ?> </body> </html>
http://127.0.0.1/essai.php?nom=jacky

il s'agit d'un de leur test comme il peut y en avoir des centaines, celui ci fonctionne :)

Mammouth du PHP | 19672 Messages

05 mai 2005, 18:35

BOn, l'echo Etape 1 fonctionne, as-tu un message d'erreur de MySQL ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

05 mai 2005, 18:39

http://213.245.43.6/XRS_Team/v5/ident_sql.php

http://213.245.43.6/

si tu veux, laisse moi ton email, je te transmet les logins et pass pour acceder a phpMyAdmin ;)

Invité
Invité n'ayant pas de compte PHPfrance

05 mai 2005, 18:40

pas de message d'erreur comme tu peux le voir, et encore la ligne select_db est commentée, donc on voit Etape 1, mais si je la decommente, on voit plus rien !!! :shock:

Mammouth du PHP | 19672 Messages

05 mai 2005, 18:45

J'ai vu, mais sur la seconde url, j'ai vu un phpinfo sur lequel j'ai aussitôt cliqué : les fonction que tu dois utiliser dans ton cas ne sont pas mysql_... mais mysqli_... et ça vient probablement de là

Va regarder cette page du manuel
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

05 mai 2005, 18:46

aerf cest le tutorial qui ma fait changer ca en mysqli,

tu crois que je dois garder lequel ???

Invité
Invité n'ayant pas de compte PHPfrance

05 mai 2005, 18:49

regarde : http://213.245.43.6/XRS_Team/v5/

Code : Tout sélectionner

echo "Etape 1"; $db = mysqli_connect('localhost', 'root', 'CENSURE') or die("<p>Erreur MySQL numéro : ". mysqli_errno() ."; Définition : ". mysqli_error() ."</p>\n"); //mysqli_select_db('oxyd_xrs',$db)die("<p>Erreur MySQL numéro : ". mysqli_errno() ."; Définition : ". mysqli_error() ."</p>\n"); echo "Etape 2"; echo "$db";
pareil, des que je decommente, plus rien :/

Invité
Invité n'ayant pas de compte PHPfrance

05 mai 2005, 18:54

je pense pas que je vais pouvoir garder mysqli, cest qu'un serveur de developpement de test que je me fais, apres les pages seront sur un hebergeur de site web, et s'ils ont pas de mysqli, je suis foutu pour tout reéditer :/

Invité
Invité n'ayant pas de compte PHPfrance

05 mai 2005, 18:56

autre truc hyper urgent cyranno, comme je vois que tu es modérateur, peux tu rapidement m'éditer le pass que j'ai laisse betement sur le code ^^ :oops:

je te remercie ;)

>> je file de suite m'inscrire pour eviter de recommencer cette gourde :)