Prendre des variable de session dans MySQL sur une autre table PROB [Résolu]

Signaler
Messages postés
2
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
2 août 2005
-
Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008
-
VOILA le code

----------------------------------------------------------------------

<?php require('connexion.php'); ?>

<?php

// SCRIPT D'AUTHENTIFICATION

session_start(); // début de session



if (isset($_POST['login']) && isset($_POST['pass'])){ // execution apres envoi du formulaire

$login = $_POST['login']; // mise en variable du nom d'utilisateur

$pass = $_POST['pass']; // mise en variable du mot de passe crypté

// requete sur la table administrateurs (on récupère les infos de la personne)

mysql_select_db($database_dbprotect, $dbprotect);



$verif_query=sprintf("SELECT * FROM login WHERE userid='$login' AND user_pass='$pass'"); // requête sur la base administrateurs

$verif = mysql_query($verif_query, $dbprotect) or die(mysql_error());

$row_verif = mysql_fetch_assoc($verif);

$utilisateur = mysql_num_rows($verif);



if ($utilisateur) { // On test s'il y a un utilisateur correspondant

// déclaration des variables de session

$_SESSION['login'] = $row_verif['login']; // Son Login

$_SESSION['pass'] = $row_verif['pass']; // Son mot de passe (à éviter)

$_SESSION['account_id'] = $row_verif['account_id']; // Son mot de passe (à éviter)

}

}



//ici ce trouve l'erreur

----------------------------------------

if (isset($_SESSION['account_id'])){

$account_id = $_SESSION['account_id'];



mysql_select_db($database_dbprotect, $dbprotect);

$verif_query = "SELECT * FROM char WHERE account_id='$account_id'"; // requête sur la base administrateurs

$verif = mysql_query($verif_query, $dbprotect) or die(mysql_error());

$row_verif = mysql_fetch_assoc($verif);

$utilisateur = mysql_num_rows($verif);



if ($utilisateur) {

$_SESSION['zeny'] = $row_verif['zeny'];

}

}

------------------------------------





// GESTION DE LA Déconnexion

if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){ //
Test sur les paramètres d'URL qui permettront d'identifier un
"contexte" de déconnexion

session_unset("authentification");

header("Location:index.php?erreur=delog");

}

?>

-----------------------------------------------------

L ERREUR

You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'char
WHERE account_id='2000000'' at line 1

-----------------------------------------------------

Si qqn à une idée sur cette erreur merci de me la corriger




CITRONBLEU-V

5 réponses

Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008

salut

Si ca peut t'aider l'erreur est sur cette ligne grossomodo ta requete est foireuse

$verif_query ="SELECT * FROM char WHERE account_id='$account_id'";

Vérifie le type de donnée que tu as dans ton char ce quec'est que le char ....
`char` la solution c peut etre ca : mettre le char entre ` (alt GR + 7 et espace après)

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
Messages postés
2
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
2 août 2005

Mercii beaucoup $verif_query ="SELECT * FROM `char` WHERE account_id='$account_id'";
C bien ça qu'il fallait metre ( on m'avait dit que nomer la table char sa ne marché pas pour les requetes )

[blue]CITRONBLEU-V/blue
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



évite aussi le SELECT *, il faut mettre le nom des champs à récupérer : SELECT champ,champ2...



Ensuite à quoi sert la fermeture du tag et son ouverture juste après :



<?php require('connexion.php'); ?>

<?php



?



remplace par ça :



<?php require 'connexion.php';

//code...


<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008

Salut

Ouais tout ca c des details qui permettent d'ameliorer la rapidité de ton script

tu perd du temps a chaque ouverture/fermeture <?php ?> c comme les " vaut mieux les ' qui sont plus rapides

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008

re

c normal char c'est le nommage d'une variable les truc genre int,double,char,float fo donc dire a MySQL que c pas une instruction mais le nom d'une variable pour etre rigoureux dans tes requetes faudrait toujours entourer par `

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"