[英]PHP - several variables in mySQL query
我有一个基本的登录代码,用户在其中输入用户名和密码,点击“提交”,然后 mySQL 查询在数据库中检查用户名是否与密码相对应。
这是查询,'pseudo' 是用户输入的用户名,'mot_de_passe' 是输入的密码。
$reponse = $bdd->query('SELECT * FROM user_data WHERE username = '.$_POST['pseudo'].' AND password = '.$_POST['mot_de_passe'].' ');
如果没有“AND...”部分,我可以检查用户名是否存在,但是当我添加“AND...”部分时,查询不起作用,并且“AND”的颜色不同作为'SELECT * FROM'和'WHERE'
我试过点,简单的引号,引号,但没有任何变化。
提前致谢。
您必须在 SQL 中使用"
或'
关于字符串
$reponse = $bdd->query('SELECT * FROM user_data WHERE username = "'.$_POST['pseudo'].'" AND password = "'.$_POST['mot_de_passe'].'" ');
并且您的代码无法阻止 SQL INJECTION 攻击。
请使用prepared statement
或bind param
。
使用下面的代码并检查天气是否有效。
$reponse = $bdd->query('SELECT * FROM user_data WHERE username = ' .
$_POST['pseudo'] . ' AND password = ' . $_POST['mot_de_passe'] );
还要检查存储在数据库中的密码类型并尝试匹配
$reponse = $bdd->query('SELECT * FROM user_data WHERE password = ' .
$_POST['mot_de_passe'] );
如果工作然后检查您的数据库密钥并匹配您的密码拼写和类似的东西..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.