Je débute en PHP

Par hatfab, il y a 13 ans


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

Couss, il y a 13 ans

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

Gregory, il y a 13 ans

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, il y a 13 ans

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

Gregory, il y a 13 ans

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, il y a 13 ans

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, il y a 13 ans

Au fait, j'utlise MAMP.

Gregory, il y a 13 ans

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, il y a 13 ans

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.

Gregory, il y a 13 ans

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, il y a 13 ans

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

Gregory, il y a 13 ans

oui mais mets localhost:8888 dans la connexion et tests

hatfab, il y a 13 ans

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, il y a 13 ans

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

Gregory, il y a 13 ans

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, il y a 13 ans

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 !

Gregory, il y a 13 ans

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

hatfab, il y a 13 ans

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, il y a 13 ans

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

Couss, il y a 13 ans

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, il y a 13 ans

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