Page 1 sur 1

Extraction d'une valeur !

Posté : 19 déc. 2006, 12:36
par Brice83
Bonjour,

J'ai fait ceci :
<?php 
$sql_serveur = "serveursql"; 
$sql_base = "unebase"; 
$sql_login = "unlogin"; 
$sql_password = "monpasse"; 
@mysql_connect($sql_serveur, $sql_login, $sql_password) or die("Sql Error"); 
@mysql_select_db($sql_base);
$slq="SELECT ok FROM membres WHERE pseudo= '$pseudo';
if($ok=1) 
      echo 'Compte déja activer;
}
else{
$sql="UPDATE membres SET ok=1 WHERE pseudo= '$pseudo";
echo 'Compte activer;
mysql_query($sql) or die(mysql_error());
mysql_query($slq) or die(mysql_error();
mysql_close (); 
?>
Donc,quand la valeur "$ok" n'est pas a "1",l'update s'effectue correctement et passe a "1" puis affiche "compte activer" !

Par contre,quand la valeur est déja à 1 pour "$ok",il m'affiche aussi "compte activer" alors que je voudrait qu'il m'affiche "compte déja activer" !

J'ai donc fait une petite erreur quelques part mais je ne sait pas du tout ou !

Une aide serait la bienvenue :D

Merci d'avance !

Re: Petite difficulter !

Posté : 19 déc. 2006, 12:47
par zeus
$slq="SELECT ok FROM membres WHERE pseudo= '$pseudo'";
if($ok==1) {
Ici, tu utilises une valeur récupérée dans une requete mais jamais tu ne l'extrait en utilisant mysql_fetch_array() ;)

Posté : 19 déc. 2006, 12:58
par Cyrano
Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP", "Aidez-moi !" n'apportent rien à la compréhension de ton problème.
Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.

Posté : 19 déc. 2006, 13:08
par Brice83
Pour le titre du topic, c'est modifier :wink:

Ensuite,j'ai rajouter cela :
$data = mysql_fetch_array($slq);
Et je me retrouve avec une erreur de type :
mysql_fetch_array(): supplied argument is not a valid MySQL
?

Désolé mais je débute :oops:

Posté : 19 déc. 2006, 13:18
par Cyrano
Tu ne récupères pas la bonne ressource :
-1- définir la requête :
$sql = "SELECT ...etc...";
-2- Exécuter la requête ET récupérer la ressource dans une variable:
$exec = mysql_query($sql);
-3- Récupérer les résultats :
while(false != ($data = mysql_fetch_array($exec)))
{
    // traitement des données...
}
Note bien le paramètre utilisé avec mysql_fetch_array() : toi, tu as envoyé la requête, il faut envoyer la ressource.

Posté : 19 déc. 2006, 13:19
par Ryle
Le fait de récupérer les valeurs extraites d'une requête ne te dispense pas de l'exécuter si tu veux qu'elle te ramènes des résultats :)

Le mysql_fetch_array() était en plus du mysql_query(), pas à la place ;)

$sql = "SELECT ..." => la requête sql a exécuter
$rs = mysql_query($sql) => l'exécution de la requête
$row = mysql_fetch_array($rs) => la lecture d'une ligne de résultat

Edit : Damn i've been grilled by Cyrano !