Page 1 sur 2

Serveur Apache - Probleme connection a base SQL

Posté : 05 mai 2005, 15:19
par Antoine21
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 !!! :)

Posté : 05 mai 2005, 15:30
par daoud
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

Posté : 05 mai 2005, 15:30
par Cyrano
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()

Posté : 05 mai 2005, 17:25
par Invité

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

Posté : 05 mai 2005, 17:27
par Invité
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:

Posté : 05 mai 2005, 17:29
par Cyrano
J'ai une question qui peut avoir l'air bête : mais arrives-tu à afficher une page normale avec son contenu sans requête ?

Posté : 05 mai 2005, 18:28
par Invité

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 :)

Posté : 05 mai 2005, 18:35
par Cyrano
BOn, l'echo Etape 1 fonctionne, as-tu un message d'erreur de MySQL ?

Posté : 05 mai 2005, 18:39
par Invité
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 ;)

Posté : 05 mai 2005, 18:40
par Invité
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:

Posté : 05 mai 2005, 18:45
par Cyrano
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

Posté : 05 mai 2005, 18:46
par Invité
aerf cest le tutorial qui ma fait changer ca en mysqli,

tu crois que je dois garder lequel ???

Posté : 05 mai 2005, 18:49
par Invité
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 :/

Posté : 05 mai 2005, 18:54
par Invité
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 :/

Posté : 05 mai 2005, 18:56
par Invité
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 :)