[RÉSOLU] Problème avec l'affichage de données

Eléphanteau du PHP | 11 Messages

25 avr. 2013, 18:58

Bonjour, bonsoir à tous.

J'ai donc un problème avec l'affichage de données celui-ci consiste à afficher les personnages d'un compte en particulier.
Voici la requête que je demande via ma page PHP
if(!isset($_SESSION['login']))
{
$pseudo = $_SESSION['login'];
$requete = mysql_query ("SELECT * FROM login WHERE userid='$pseudo'");
$id = $row['account_id'] ;
$donnees = mysql_fetch_array($requete);
$perso = 'SELECT * FROM char WHERE account_id="'.$id.'"';
$perso1 = mysql_query($perso) or die('SQL Error !<br>'.$perso.'<br>'.mysql_error());
while($perso2 = mysql_fetch_array($perso1))
}
Voici ce que me dis la requête :
SQL Error !
SELECT * FROM char WHERE account_id="2000000"
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
Donc, bien-sur j'ai bien vérifié dans mes base de données que ce que je demande à ma page web son correct, voici quelques aperçus.

Image
Image

PS : Les base de données en question se nommes bien pour celle qui stock les comptes :
- Login
Et celle qui stock les personnages
- Char

Merci de votre aide,
Cordialement,
Akinator54100.
Modifié en dernier par Akinator54100 le 25 avr. 2013, 20:50, modifié 1 fois.

ViPHP
ViPHP | 2577 Messages

25 avr. 2013, 20:36

Char pose peut être un problème, essayes `Char`
Supprime également les " autour de l'id.

Eléphanteau du PHP | 11 Messages

25 avr. 2013, 20:50

Bonsoir à toi !

Le problème est résolu !
Je te remercie pour ta réponse si rapide il fallait juste que je rajoute les `` autour de char
Je te remercie mille fois !

Cordialement,
Akinator54100

Mammouth du PHP | 571 Messages

25 avr. 2013, 21:00

salut,
char est un mot réservé sql il ne devrait jamais être utilisé.Ensuite il faut revoir la nomenclature de tes tables(login et char).
autre problème: pourquoi faire 2 requêtes alors que je vois la possibilité d'une jointure entre la table login et la table char étant donné que la table char comporte la clé étrangère.

Eléphanteau du PHP | 11 Messages

25 avr. 2013, 21:43

Re,

Pourquoi revoir la nomenclature, celle ci me convient, pourrais-tu développé ?
Ensuite, je débute en PHP, MYSQL donc, je ne peux pas me permettre de faire des choses que je ne maîtrise pas.

Cordialement,
Akinator54100

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

25 avr. 2013, 22:36

salut,


Ce qu'indique yann c'est qu'utiliser des mots clefs (ou réservé) SQL comme noms de champs ou de table (ou même de fonction) est une mauvaise idée et que donc, surtout en début de développement, il est préférable de changer ces noms par des choses plus parlante, par exemple en français ;)


pour ce qui est de la jointure http://sqlpro.developpez.com/cours/sqlaz/jointures/


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 11 Messages

26 avr. 2013, 00:49

Re,

J'ai bien pris vos conseils et finis par modifier les noms de mes tables.
Celle des comptes se nommes maintenant "accounts" et celle des personnages "personnages" tout simplement :)
En tout cas, merci pour ton lien sa ma bien aider.

Cordialement,
Akinator54100