Php mysql中的引号太多

Php mysql中的引号太多,php,mysql,quotation-marks,Php,Mysql,Quotation Marks,我的问题是引号太多 $come = mysql_query("SELECT * FROM users WHERE email="$_POST['email']" and password="$_POST['password']" "); 然后我试过了,但没用 $come = mysql_query("SELECT * FROM users WHERE email="/$_POST['email']/" and password="/$_POST['password']/" "); 请帮帮我:

我的问题是引号太多

$come = mysql_query("SELECT * FROM users WHERE email="$_POST['email']" and password="$_POST['password']" ");
然后我试过了,但没用

$come = mysql_query("SELECT * FROM users WHERE email="/$_POST['email']/" and password="/$_POST['password']/" ");
请帮帮我:/

$come = mysql_query("SELECT * FROM users WHERE email='".$_POST['email']."' and password='".$_POST['password']."' ");

试试这个,它会解决你的问题。但是MySQL被认为是MyQuLi或PDO。

< P>解决你的问题:

<?php
$come = mysql_query(sprintf('SELECT * FROM users WHERE email="%s" and password="%s"', $_POST['email'], $_POST['password']));
更多:

使用现代数据库接口并绑定参数。其他任何事情都是在浪费每个人的时间。正如Mat所说,你应该使用绑定参数,但如果你坚持这样做,其中包含一个安全漏洞,那么你应该在email='some string'中使用单引号,即使MySQL允许你在那里使用双引号。然后,您可能需要对$\u POST[\email\]使用转义双引号。此外,您应该了解斜杠和反斜杠之间的区别:并在尝试转义之前使用它们。以及单引号和双引号之间的区别:-以一种很好的方式使用它们可以减少scaping字符的数量…除了sql注入问题,这将不起作用,因为字符串值需要在mysql.Yop中引用,非常感谢。我忘了应该有点:谢谢NewInMysqlI知道存在sql注入的危险,并且该方法已被弃用,但我无法理解投票结果。我建议改变方法,但我的答案回答了我的问题。好的,我检查一下。。这是我的学校项目,所以他们不介意安全漏洞。谢谢您:
<?php

$pdo = new PDO('mysql:host=127.0.0.1;dbname=mydb', 'user', 'password');
$stmt = $pdo->prepare('SELECT * FROM users WHERE email=:email and password=:password');
$stmt->execute(['email' => $_POST['email'], 'password' => $_POST['password']]);
$result = $stmt->fetchAll();