Page 1 sur 1

Problème : Script fonctionnant une fois sur 2

Posté : 31 août 2006, 19:57
par neo765
Salut,

J'ai suivi le tutorial "http://www.phpdebutant.org/article69.php"

Parfois le script fonctionne, mais parfois aussi, il m'indique :
Erreur SQL :
SELECT id, login, email, lastconnection, mdp FROM membres WHERE login = 'neo765'

En gros le script fonctionne une fois sur 2

Quand j'exécute "SELECT id, login, email, lastconnection, mdp FROM membres WHERE login = 'neo765'" dans mysql, la commande fonctionne parfaitement.

Pourquoi ?

Merci

Posté : 31 août 2006, 20:10
par Ryle
Ajoute un mysql_error() dans le "or die" de l'exécution de ta requête. En effet php ne connait rien au sql, il se contente de faire suivre les requêtes que tu lui donnes à mysql sans se soucier de savoir si elles sont correctes ou pas.
Cette fonction te permet de récupérer la réponse de mysql et te donnes généralement des infos supplémentaires :)
$req = mysql_query($sql) or die('Erreur SQL : '.mysql_error().'<br />Requête : '.$sql);

Posté : 31 août 2006, 23:27
par neo765
Salut,

Merci pour ta réponse.

Après avoir testé plusieurs fois le script (connection, déconnection, connection, deco etc...), au bout de la 3ème fois il m'indique :

Code : Tout sélectionner

Erreur SQL : Aucune base n'a été sélectionnée Requête : SELECT id, login, email, lastconnection, mdp FROM membres WHERE login = 'neo765'
Je tiens à précisé que les 3 premiers essais marchaient parfaitement.

Je suis en local avec easy-php.

Merci

Posté : 01 sept. 2006, 00:16
par Cyrano
As-tu bien mis les lignes qui vont bien avant pour te connecter à MySQL (mysql_connect()) et sélectionner le bon schéma (mysql_select_db)?

Posté : 01 sept. 2006, 00:19
par neo765
Oui, étant donné que le script fonctionne une fois sur 2

Merci

Posté : 01 sept. 2006, 10:23
par Ryle
C'est po normal.. ajoute également des "or die" sur les mysql_connect() et mysql_select_db()
<?php
$link = mysql_connect('localhost', 'usr', 'pwd') or die('Impossible de se connecter : ' . mysql_error());
$db_selected = mysql_select_db('foo', $link) or die ('Impossible de sélectionner la base : ' . mysql_error());
?> 
Si cela ne t'apporte pas plus d'info, donne nous un peu de code.. y a peut être une variable écrasée, un if qui traine ou je ne sais quoi :)

Posté : 01 sept. 2006, 15:27
par neo765
Salut,

J'ai remplacé le require que dreamweaver m'avait fait par
<?php
$link = mysql_connect('localhost', 'usr', 'pwd') or die('Impossible de se connecter : ' . mysql_error());
$db_selected = mysql_select_db('foo', $link) or die ('Impossible de sélectionner la base : ' . mysql_error());
?>
Et j'ai testé le script plusieurs fois et pas de problème, si le script replante je posterai sur le forum

Encore Merci