J'ai trois tables de MSSQL pour un jeu qui sont structurées comme suit:Rejoindre trois tables dans MSSQL
CHARS C'est la table de consultation, il a:
- strAccount qui est liée à la clé primaire de NGSCUSER est le nom d'utilisateur de compte
- strChar01 qui est la première tranche de caractère
- strChar02 qui est la deuxième fente caractère
- strChar03 qui est le troisième emplacement de personnage
ceux-ci ont la clé primaire de la table gameuser à l'intérieur ce sont des noms de caractère
NGSCUSER
- nom d'utilisateur compte strUserID
- strPasswd compte Mot de passe
GAMEUSER
- strUserId c'est le nom du personnage
- SRANK si le personnage est un maître de jeu
Ce que je dois être en mesure de faire est de comparer les données de connexion contre les variables PHP $ username et $ mot de passe dans la requête et surtout vérifier leur caractère associé et savoir s'il a un sRank de 1
Je suppose que j'ai besoin d'une jointure de trois tables de quelque sorte, mais je ne sais pas comment s'y prendre des exemples ou l'aide serait grandement appréciée
C'est la question que j'ai essayé de construire jusqu'à présent, mais il des erreurs sur la troisième ligne avec une syntaxe incorrecte près de « CHARS »:
SELECT NGSCUSER.strUserID, NGSCUSER.strPasswd, GAMEUSER.sRank
FROM 'CHARS'
INNER JOIN NGSCUSER ON NGSCUSER.strUserId = CHARS.strAccount
INNER JOIN GAMEUSER ON GAMEUSER.strUserId = CHARS.strChar01
INNER JOIN GAMEUSER ON GAMEUSER.strUserId = CHARS.strChar02
INNER JOIN GAMEUSER ON GAMEUSER.strUserId = CHARS.strChar03
WHERE NGSCUSER.strUserId='$username' and NGSCUSER.strPasswd='$password' and GAMEUSER.sRank = '1'
la base de données (s) ne sont pas à moi, malheureusement, je Je suis conscient des dangers des mots de passe en texte clair, la protection d'injection sql est ma prochaine tâche, je remarque que mssql n'a pas mysql_real_escape_string(); donc je vais avoir besoin de quelque chose pour remplacer cela – arcanine
@arcanine - Utiliser des requêtes paramétrées. Plus ici: http://blogs.iis.net/sqlphp/archive/2008/09/30/how-and-why-to-use-parameterized-queries.aspx – Eric