Probleme de Mysql, en php

Fermé
Lrnv - 27 nov. 2008 à 14:05
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 - 27 nov. 2008 à 14:46
Bonjour!!

Voila, je me trouve confronter a une ereur sql, qui je ne comprend pas ...

voila mon code :

$reponce_sql = mysql_query ("SELECT * FROM membres WHERE membre_pseudo = '$pseudo'");
$donnees_sql = mysql_fetch_array("$reponse_sql");

ET php me dit :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\oskar\bas_de_la_page.php on line 12

Pourquoi?

Merci d'avence de me repondre!
A voir également:

20 réponses

Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
27 nov. 2008 à 14:07
Salut,

Tu appels ta variable $reponce_sql et la ligne d'après $reponse_sql
0
gigaga Messages postés 2347 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
27 nov. 2008 à 14:07
Vérifie ta requête ou ta connexion.
0
Merci!!!

toiut sa pour une faute d'orthographe!^^^^
0
Ah ben non, sa marche toujour pas...
0
gigaga Messages postés 2347 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
27 nov. 2008 à 14:18
C'est souvent dû à une erreur rencontré à l'exécution de la requête ou à la connexion à la base!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
27 nov. 2008 à 14:18
sors le pseudo de ta requête:
"SELECT * FROM ... where membre_pseudo=' ".$pseudo." ' "

mysql a du mal parfois avec des variables qui ne sont pas concaténées
0
Non, merci, mais c'etait pas sa, j'ai quand memem copier ton code, il est plus propre...

D'auters idées?
0
gigaga Messages postés 2347 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
27 nov. 2008 à 14:23
Donne le code complet (avec la connexion)
0
<?php
if(isset($_SESSION['pseudo']))
{
$pseudo = $_SESSION['pseudo'];
$reponce_sql = mysql_query ("SELECT * FROM membres where membre_pseudo=' ".$pseudo." ' " ) or die(mysql_error);
// $donnees_sql = mysql_fetch_array("$reponce_sql");
if( $donnees_sql['membre_droitadmin'] = 1 )
{
?>
<li id="active"><a href="#" id="current">Administration</a>
<ul class="navsouscontener">
<li><a href="/oskar/admin/liste_news.php">Liste des News</a></li>
<li><a href="/oskar/rediger_news.php">Rediger une news</a></li>
<li><a href="#">Lien3</a></li>
</ul>
</li>
<?php
}
}
?>






Voila le code...

Je vien de remarquer un truc, il me domnne une erueur, mais il m'aficher quand meme la partie de menu qui est dans le if $donnees_sql['membre_droitadmin'] = 1

Pourquoi?
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
27 nov. 2008 à 14:39
la partie du menu s'affiche précisément parce que tu as réaffecté une valeur^^ tu n'as pas comparé, donc puisque tu as réaffecté, c'est toujours vrai, donc ça exécute ton if
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
27 nov. 2008 à 14:28
faut que tu fasses un while pour balayer le retour de ta bdd^^ sinon t'es sûr que ça marchera pas^^
0
Coment sa un while?
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
27 nov. 2008 à 14:31
$sql="select * from membres where membre_pseudo='".$pseudo."'";
$query=mysql_query($sql) or die(mysql_error());
while($membres=mysql_fetch_array($query)) {
//là tu mets toutes les instructions qui ont besoin de traiter avec les données que tu as récupérées de ta bdd, qui se prendront ainsi: $membres['nom_colonne']
ex:
if($membres['droit_admin']==1) {
//faire truc
}
}
0
mais non, je veut pas faire sa!

Je veut juste verifier si ce chant a la colne xxx est egal a 1, si il est agal, alor tu afiche le reste UNE SEULE FOIS.

ton script l'aficherait autant de fois qu'il y a de chant avec la colone xxx egal a 1.
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
27 nov. 2008 à 14:34
quand tu compares des données, utilises == pour comparer le contenu, et === pour comparer l'égalité de contenu et de type de variables. Un simple = ne comparera rien du tout, il ne fera que réaffecter une valeur à une variable
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
27 nov. 2008 à 14:35
bien sûr que non, puisque que tu as sélectionné que les données contenant l'utilisateur $pseudo avec le where de ta requête
0
Je vien de le faire, mais sa ne marche toujour pas...

Merci quand meme de tout ces conseil.
0
gigaga Messages postés 2347 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
27 nov. 2008 à 14:40
Y a toujours pas la connexion!!

Ton code du style :
if (!$db = @mysql_connect(DBHOST,DBUSER,DBPASSWD))
return FALSE; # pas de connexion
if (!@mysql_select_db(DBNAME, $db)) {
@mysql_close($db);
return FALSE; # bdd introuvable
}

?
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
27 nov. 2008 à 14:38
no worries^^

tes droits d'utilisateurs sont toujours en chiffres?
Ca affiche quoi maintenant?
0
qué droit d'utilisateur?
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
27 nov. 2008 à 14:41
ta colonne membre_droitadmin, y'a que des chiffres mit dedans?
0
oui bien sur, des 0 et des 1.

la il me semble que c'est bon... attend, je verifie que tout va bien, et je te dit
0
AH, il me semble que c'est bon...

Mercii beaucoup!!!!
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
27 nov. 2008 à 14:46
j't'en prie^^

J'me permet de te recommander un apprentissage plus rigoureux du php et de ses manipulations de base, elles ne sont pas compliquées, pas nombreuses, et permettent de faire un paquet de truc. Et si tu mets l'accent sur une pratique rigoureuse et disciplinée du code, tu avanceras plus vite et seras nettement moins confronté à ce genre de petits soucis^^ (qui freinent le travail et usent les nerfs quand on commence :D on s'en souvient tous^^)
0