自从我做了任何MySQL以来,它一直是AGES,而且我已经学习了一些关于PDO的知识。我只是想知道这是否是正确的做事方式?
提前致谢!
$sql = 'SELECT `something`,`somethingelse` FROM here WHERE id = \'' . $_REQUEST["id"] . '\'';
$stmt = $db->prepare($sql);
$stmt->execute();
答案 0 :(得分:4)
不,永远不要将变量直接添加到查询字符串中。这是安全的方法。这看起来像是一个PDO查询,所以这里是如何将值替换为pdo查询
$sql = 'SELECT `something`, `somethingelse` FROM here WHERE id = ?';
$stmt = $db->prepare($sql);
$stmt->execute(array($_REQUEST["id"] ));
或者您可以进一步缩短它,从而节省时间:
$stmt->execute([$_REQUEST['id']])
您可以在此处阅读有关如何运行查询的更多信息https://yomotherboard.com/sql-prepared-statements-using-php-pdo-queres/