Bonjour,
Voilà, comme le dit le titre, je suis débutant en PHP. Je suis en train de réaliser un exercice et… ça ne marche pas (je ne profite même pas de la chance du débutant). Si quelqu'un pouvait me donner une piste de recherche, parce que là, je ne sais même pas ce qui ne fonctionne pas.

Voici mon Code

<?php
$connexion=mysql_connect("localhost:8889","root","");
mysql_select_db("catalogue");
$requete="SELECT reference FROM articles";
$resultat=mysql_query($requete);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>
<body>
<?php
$articles=mysql_fetch_array($resultat);
echo '<pre>';
print_r($articles);
echo '</pre>';
?>
</body>
</html>

Et le message d'erreur

Warning : mysql_fetch_array() expects parameter 1 to be resource, boolean given in /Library/WebServer/Documents/elephorm_php/7-Applications/testConnexion.php on line 16

Si je comprends bien ma DB est bien connectée, c'est après que ça ne va pas ?

Merci de vos lumières.

20 réponses


Bonjour,

si tu es débutant en php je te conseille déjà d'utiliser pdo pour gérer la base de donnée.
Ensuite rajoutes connexion=mysql_connect("localhost:8889","root","") or die("Erreur : ".mysql_error());
Et dis moi si cela affiche une erreur

hatfab
Auteur

J'ai donc maintenant en ligne 2

$connexion=mysql_connect("localhost:8889","root","") or die("Erreur : ".mysql_error());

Et ça me renvoie ça
Warning : mysql_connect() <u>function.mysql-connect</u>]: Access denied for user 'root'@'localhost' (using password: YES) in /Library/WebServer/Documents/elephorm_php/7-Applications/testConnexion.php on line 2

Warning : mysql_fetch_array() expects parameter 1 to be resource, boolean given in /Library/WebServer/Documents/elephorm_php/7-Applications/testConnexion.php on line 16

Donc tu n'es pas connecté à ta base de donnée, tu as besoin d'un password pour l'utilisateur root.
Si tu es sur mac le password par défaut de root c'est root donc

$connexion=mysql_connect("localhost:8889","root","root") or die("Erreur : ".mysql_error());
hatfab
Auteur

Oui, j'avais essayer avec root/root mais ça donne ça
Warning : mysql_connect() <u>function.mysql-connect</u>]: Access denied for user 'root'@'localhost' (using password: YES) in /Library/WebServer/Documents/elephorm_php/7-Applications/testConnexion.php on line 2
Erreur : Access denied for user 'root'@'localhost' (using password: YES)

hatfab
Auteur

Au fait, j'utlise MAMP.

Ca n'a pas d'importance MAMP, XAMP,WAMP tout ça c'est pareil mais effectivement perso je prefere MAMP aussi sur mac
Mais je te conseille vraiment de regarder http://www.grafikart.fr/tutoriels/php/pdo-php-111
Est ce que cela marche mieux avec le password?

hatfab
Auteur

Non, je t'ai mis le message d'erreur sur le post d'avant. Il semble que root/root ne convienne pas comme login/password.

L'utilisateur root a un password en revanche je ne sais pas celui que tu as mis.
Et es tu sur de localhost:8889 car de base c est localhost:8888 ?

hatfab
Auteur

Oui, c'est la config MAMP : apache=8888 et Mysql=8889

oui mais mets localhost:8888 dans la connexion et tests

hatfab
Auteur

J'ai essayé, c'est pareil, que je mette localhost, localhost:8888 ou localhost:8889
J'ai toujours le même message d'erreur.

hatfab
Auteur

Si c'est un problème de password, est-ce que je peux le changer ou le vérifier ?

Oui tu peux le changer tu vas sur http://localhost:8888/phpMyAdmin/

  • tu sélectionnes ta base de données
  • puis dans privilieges
  • modifier l'utilisateur
hatfab
Auteur

Ce qui est très bizarre, c'est que quand je vais a cette adresse "http://localhost:8888/phpMyAdmin/" il me demande login/password pour me connecter, là je rentre root/root et ça fonctionne !

oui mais tu as peut être un pass différent pour la base de donnée catalogue

hatfab
Auteur

Alors là, ça s'arrange pas… J'ai changé les privilèges de la base ainsi que ceux de phpMyAdmin en "No Password" et maintenant je ne peux plus me connecter à mon interface phpMyAdmin !
Message d'erreur :
Login without a password is forbidden by configuration (see AllowNoPassword)

hatfab
Auteur

Bon, je dois bouger là. Je posterais l'état de mes recherches tout à l'heure…
Merci de ton aide !

bonjour,

pour le message d'erreur Login without a password is forbidden by configuration (see AllowNoPassword) normalement du doit juste indiqué a phpmyadmin via le fichier config que tu autorise les connexion sans mot de passe.
je croit que c'est : $cfg'Servers']$i]'AllowNoPassword'] = true;

hatfab
Auteur

Merci, comment je l'édite le fichier de configuration ?

Comme tu édit n'importe quel fichier php, avec un éditeur de texte.
je connais pas MAMP mais sur WAMP il se trouve dans C:\wamp\apps\phpmyadmin-3.5.2\config.inc.php