Erreur SQL

Erreur SQL - PHP - Programmation

Marsh Posté le 22-03-2011 à 10:29:31    

Bonjour,
 
J'ai une erreur SQL qui survient alors que je tentais de réaliser ce tutorial PHP/mySQL : http://www.phpdebutant.org/article66.php
 
J'ai Wamp qui tourne bien, tout est activé, le petit W est bien vert  :)  le fichier index.php est bien dans le dossier  www  
et j'ai même tester la requête SQL dans PHpmyadmin et elle aboutit bien!
 
J'ai fait étape par étape et l'erreur survient juste au moment de l'envoie de la requête, ici :
 

Citation :

   <?php
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
 
// on sélectionne la base
mysql_select_db('familly',$db);
 
// on crée la requête SQL
$sql = 'SELECT nom,prenom,statut,date FROM famille_tbl';
 
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


 
Apparemment il y a un soucis avec l'envoie de la requête car j'ai cette erreur : '.$sql.'
'.mysql_error());


---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
Reply

Marsh Posté le 22-03-2011 à 10:29:31   

Reply

Marsh Posté le 22-03-2011 à 10:35:18    

Bizarrement je vient de voir que si je met un mauvais mot de passe ou un user erroné pour accéder à ma bdd, je n'ai aucune erreur quand j'ouvre mon index.php dans firefox :??:  
 
La connexion ne se ferait donc pas? est ce qu'il existe un moyen de "pinger" la base pour savoir si j'arrive à bien communiquer avec elle?


---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
Reply

Marsh Posté le 22-03-2011 à 17:25:18    

Tu ne testes pas le retour des fonctions mysql_connect et mysql_select_db.
Tu ne peux pas savoir si tout se fait bien si tu ne mets pas en place une gestion des erreurs.
Une façon simpliste de faire (pas forcément à utiliser en production, plus pour du debug) :

Code :
  1. <?php
  2. // on se connecte à MySQL
  3. $db = mysql_connect('localhost', 'root', '') or die('Impossible de se connecter');
  4.  
  5. // on sélectionne la base
  6. mysql_select_db('familly',$db) or die('Impossible de sélectionner la base');
  7.  
  8. // on crée la requête SQL
  9. $sql = 'SELECT nom,prenom,statut,date FROM famille_tbl';
  10.  
  11. // on envoie la requête
  12. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

Reply

Marsh Posté le 22-03-2011 à 17:44:35    

Merci pour ton aide.
 
ça ne donne rien du tout, aucun message que les identifiants soit bon ou pas :(


---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
Reply

Marsh Posté le 23-03-2011 à 10:34:24    

c'est normal, le familly avec deux "l" comme nom de base ?
ta base est bien accessible sur localhost (essaie de remplacer par 127.0.0.1 ?)
 
Tu n'as vraiment aucun affichage ?
Si tu rajoutes un echo "toto"; à la fin, il s'affiche ?
 

Reply

Marsh Posté le 23-03-2011 à 13:04:31    

j'ai testé echo "toto" et rien :(

 

voilà ce que j'ai tapé :

Citation :

<?php
#
// on se connecte à MySQL
#
$db = mysql_connect('127.0.0.1', 'root', 'ghhghjjh') or die('Impossible de se connecter');

 

echo "toto"

 

?>

 

ça n'affiche rien en local et si je l'héberge en ligne ça me donne ça :

 

"Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /homez.314/www/index.php on line 89
Impossible de se connecter"

 

La ligne 89 correspond à "$db = mysql_connect('127.0.0.1', 'root', 'ghhghjjh') or die('Impossible de se connecter');"


Message édité par supalex06 le 23-03-2011 à 13:07:12

---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
Reply

Marsh Posté le 23-03-2011 à 13:30:39    

En local, ça ne t'affiche rien parce que si tout se passe bien rien n'est affiché.
 
Sur le serveur, es-tu sur de tes identifiants ? est-ce que ça fait la même chose en attaquant sur "localhost" et "127.0.0.1" ?

Reply

Marsh Posté le 23-03-2011 à 15:54:55    

Mais le mot de passe en local ça n'est pas ça justement !  
Et pourquoi ça n'affiche pas "toto" ?


---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
Reply

Marsh Posté le 23-03-2011 à 16:14:33    

ah
 
et si tu mets le echo au début du script ?
et un flush à la fin ?
 
Dans le PHP.ini local, il n'y a pas une gestion particulière des erreurs ?

Reply

Marsh Posté le 23-03-2011 à 16:19:17    

Voilà un extrait du php.ini :

Citation :

; display_errors
;   Default Value: On
;   Development Value: On
;   Production Value: Off
 
; display_startup_errors
;   Default Value: Off
;   Development Value: On
;   Production Value: Off
 
; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED
 
; html_errors
;   Default Value: On
;   Development Value: On
;   Production value: Off
 
; log_errors
;   Default Value: Off
;   Development Value: On
;   Production Value: On


 
Mais à la limite le problème des erreurs c'est pas grave, le plus gênant c'est que ça n'affiche même pas toto...
 
<?php
 
echo "toto"
 
?>  
 
Meme ça, ça ne donne rien :(


---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
Reply

Marsh Posté le 23-03-2011 à 16:19:17   

Reply

Marsh Posté le 23-03-2011 à 16:46:38    

ah !
 
tu as installé php comment en local ?

Reply

Marsh Posté le 23-03-2011 à 17:51:19    

Avec Wamp, tout semble ok, j'ai même téléchargé Firefox4 au cas où ça pourrait venir du navigateur  :D  mais non


---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
Reply

Marsh Posté le 23-03-2011 à 17:53:44    

as-tu déjà réussi à exécuter du PHP sur ton wamp ?

Reply

Marsh Posté le 23-03-2011 à 18:09:21    

C'est vraiment étrange, si je marque http://localhost/php/ dans la barre d'adresse je vois bien toto mais je marque file:///C://wamp/www/php/index.php il ne se passe rien :/


Message édité par supalex06 le 23-03-2011 à 19:13:51

---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
Reply

Marsh Posté le 25-03-2011 à 12:03:09    

euh
 
Si tu tapes http://, tu passes par le protocole HTTP.
Apache écoute les requêtes sur le port HTTP et les redirige (selon sa configuration) vers PHP. PHP génère la page HTML (ou autre ...), et Apache la renvoie au navigateur web.
 
Si tu passes par file://, le navigateur charge simplement le fichier PHP sans l'exécuter. Tu devrais donc avoir la source du fichier.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed