2013-04-03 4 views
-3

Un site Web que je construisait avait un petit panneau d'administration. Donc, le site a une page de connexion, mais pas de page d'inscription, car il n'y a qu'un seul email + mot de passe nécessaire pour se connecter à un compte. Je voulais donc insérer les informations d'identification pour ce compte 1 via sql. Le mot de passe doit être md5-hashed. Voici le code sql je l'ai écrit, mais je reçois une erreur:Mettre le mot de passe email + md5-hashed en db en utilisant sql

insert into tblmember (memberEmail, memberWachtwoord) 
     values (
     '".mysqli_real_escape_string('exampleemail')."', 
     '".hash('md5', mysqli_real_escape_string('examplepassword'))."' 
     ); 

exampleemail et examplepassword sont juste du texte, pas de variables. Ce est l'erreur que je reçois:

error: #1064 - 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 'exampleemail')."', '".hash('md5'('examplepassword'))."')' at line 3 
+1

Vous avez PHP dans votre code SQL. Comment voulez-vous que cela fonctionne? –

+0

Si vous le pouvez, changez le hash du mot de passe. MD5 n'est plus considéré comme sécurisé. Voir http://security.stackexchange.com/questions/23116/md5-collision-attacks-are-the-relevant-in-password-hashing pour une question relativement équilibrée et des réponses sur pourquoi. – penguat

Répondre

1

Si vous arrachez le code PHP, vous obtenez ceci:

insert into tblmember (memberEmail, memberWachtwoord) values ('exampleemail', md5('examplepassword'));

+0

Cela fait des âges que j'ai travaillé avec sql directement sans php ... Eh bien, au moins je me souviens comment fonctionne sql à nouveau :) Merci! –

Questions connexes