Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-mySQL查询中的几个变量_Php_Mysql_Variables - Fatal编程技术网

PHP-mySQL查询中的几个变量

PHP-mySQL查询中的几个变量,php,mysql,variables,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'].' '); 如果没有“和…”部分,我可

我有一个基本的登录代码,用户输入用户名和密码,点击“提交”,然后mySQL查询检查数据库中的用户名是否与密码对应

这是一个查询,用户键入的用户名是“pseudo”,密码是“mot_de_passe”

$reponse = $bdd->query('SELECT * FROM user_data WHERE username = '.$_POST['pseudo'].' AND password = '.$_POST['mot_de_passe'].' '); 
如果没有“和…”部分,我可以检查用户名是否存在,但是当我添加“和…”部分时,查询不起作用,并且“和”与“选择*自”和“何处”的颜色不同

我试过点,简单的引号,引号,但没有任何改变

提前谢谢

关于SQL中的字符串,必须使用

$reponse = $bdd->query('SELECT * FROM user_data WHERE username = "'.$_POST['pseudo'].'" AND password = "'.$_POST['mot_de_passe'].'" ');
您的代码无法阻止SQL注入攻击


请使用
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'] ); 

如果有效,请检查您的数据库密钥并匹配密码拼写和诸如此类的内容。

1.不要使用普通密码,使用密码哈希。2.尝试使用
prepared statements
来防止SQL注入。使用prepared statements,您将不必担心令人讨厌的引用问题。顺便说一句,这是其美妙之处的一部分s的方法是,它允许使用参数化查询。不使用它们是愚蠢的。将它们全部放在双qoutes-“'中$_POST['pseudo'].“如果您不应该这样做,请查看准备好的语句可能重复的No,这是针对表和列的,字符串需要引号。