Pb avec mysql_connect

Petit nouveau ! | 5 Messages

17 juin 2006, 14:57

salut @ tous.

je viens de passer aux dernières versions d'apache, php, et mysql.

mon ancien code, pour me connecter à mes db, utilisait (comme tout un chacun) la fonction mysql_connect(). en passant à php5, mon navigateur m'affiche une page blanche.
après de nombreuses recherches sur l'origine du problème, je me suis décidé à créer une page simple, contenant le code :

Code : Tout sélectionner

$i = 0; $sql = "SELECT * FROM CAT"; mysql_connect("localhost","root","mon_passwd") or die("Problème de connexion à mysql".mysql_error()); $link = mysql_select_db("ma_db") or die("Problème de DB"); $res = mysql_query($sql); while ($row = mysql_fetch_array($res)) { $tbCat[$i] = $row["NOMCAT"]; $i++; } mysql_close(); echo "<pre>".$tbCat."</pre>";
et même ce code tout bête ne fonctionne pas, je suis toujours avec ma page blanche sur les bras et je n'ai même pas de message d'erreur. et ce même si je ne conserve que la 1ère partie du code, à savoir la connexion à la db (je précise, la db est créée, les paramètres de mysql_connect() sont les bons).

l'un d'entre vous (et je suis sûr qu'il y en a qui ont connu le même pb) pourrait-il me guider (pas à pas éventuellement)?

merci par avance. ++

Eléphant du PHP | 153 Messages

17 juin 2006, 15:04

Salut !

Vérifie que tu utilises <?php et pas <? (si tu as mis à jour wamp par exemple les dernieres version ne fonctionne plus avec <? (tag pour l'XML)

Essaie de faire une erreur de syntaxe dans ton code pour voir s'il est bien interprété.

Et tiens nous au courant ;)
http://gl2.delcedo.com/ Galaxialord 2 !

Petit nouveau ! | 5 Messages

17 juin 2006, 15:58

merci de ta réponse si rapide :)

j'ai effectivement déjà remplacé les <? par des <?php dans les autres pages de mon site et ça marche. dans le petit script ci-dessus, c'est également le cas.

pour ce qui est de wamp, je ne l'utilise pas, j'ai tout configuré perso, mais bon, tout le reste de mon site marche à l'exception des accès aux db. je me demande s'il ne s'agit pas d'un pb dans la config de php.ini (du genre extension=php_mysqli.dll ?)

j'ai suivi ton conseil en faisant des erreurs de syntaxe dans le code ci-dessus. j'ai supprimé le ; à la fin de

Code : Tout sélectionner

mysql_connect("localhost","root","mon_passwd") or die("Problème de connexion à mysql".mysql_error());
résultat : toujours une feuille blanche. j'ai alors supprimé celui à la fin de

Code : Tout sélectionner

$sql = "SELECT * FROM CAT";
résultat : encore une feuille blanche :shock:

à mon avis, le pb vient soit de mysql_connect(), soit de ma config de mysql...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 juin 2006, 10:23

est-ce que tu es sûr que ce que mysql_fetch_array() contient bien une case ayant l'index "NOMCAT" en majuscule ?

Essaye ça pour voir
while ($row = mysql_fetch_array($res))
{
        print_r($rox);
        $tbCat[$i] = $row["NOMCAT"];
        $i++;
}
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 5 Messages

19 juin 2006, 12:20

non, c'est pas ça, le pb se situe en amont : je n'arrive pas à me connecter à ma db :( ça doit plutôt être un pb de config je pense...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 juin 2006, 12:22

Je ne pense pas que ça soit un problème de connexion parce que, vu que tu utilise des or die(...), tu aurais un message d'erreur si la connexion ou le choix de la bdd ne fonctionnait pas.

Essaye de mettre une detection d'erreur sur la requete et d'afficher ce que mysql_fetch_array() retourne
$res = mysql_query($sql) or die('Pb de requete\n'.mysql_error());
while ($row = mysql_fetch_array($res))
{
        print_r($row);
        $tbCat[$i] = $row["NOMCAT"];
        $i++;
} 
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 5 Messages

19 juin 2006, 12:48

j'ai essayé avec ta solution et ça marche toujours pas :( toujours la page blanche, pas de message d'erreur...
allez, je crois que je vais me mettre à easyphp, ça devrait aller mieux ;)
ceci dit, comme le dit ta signature, j'aime bien comprendre pourquoi ça marche pas, mais là, le boulot s'accumule et faut que j'avance...

merci de ton coup de main en tout cas :)

Petit nouveau ! | 5 Messages

19 juin 2006, 18:41

alors, j'ai un peu avancé sur mon pb, je n'ai plus une page blanche :?

le message d'erreur indiqué est : Can't open file: 'cat.ibd' (errno: 1)
la connexion à ma db est donc bonne, le pb se situe maintenant au niveau de mysql_query().

une petite idée là-dessus?
pour info, j'ai modifié ma requête pour qu'elle sélectionne les champs user,password de la db mysql et le code ci-dessus fonctionne nickel. il s'agit donc d'un pb avec ma db...

Edit : ça y est, j'ai trouvé !
merci encore pour votre aide :)