PHP - mySQL查询中的几个变量

时间:2017-10-14 09:01:43

标签: php mysql variables

我有一个基本的登录代码,用户输入用户名和密码,点击“提交”,然后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'相同的颜色

我尝试了点,简单的引号,引号,但没有任何变化。

提前致谢。

2 个答案:

答案 0 :(得分:1)

您必须在SQL

中使用"'关于字符串
$reponse = $bdd->query('SELECT * FROM user_data WHERE username = "'.$_POST['pseudo'].'" AND password = "'.$_POST['mot_de_passe'].'" ');

并且您的代码无法阻止SQL INJECTION攻击。

请使用prepared statementbind param

答案 1 :(得分:0)

使用以下代码并检查天气是否有效。

    $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'] ); 

如果正常工作,请检查您的数据库密钥并匹配您的密码拼写等等......