php - 在 where 子句中具有多个条件的 PDO 准备语句

标签 php mysql pdo prepared-statement sql-injection

如果我使用 PDO 准备语句,并且我有这样的查询:

SELECT cat_name, cat_id_PK, cat_amount
FROM categories
WHERE month=? AND is_recurring = '0'
ORDER BY cat_name ASC;

$results->bindValue(1, $cur_month);

我还应该绑定(bind) is_recurring 子句的值吗? “0”是硬编码的,我认为它不会让我容易受到 SQL 注入(inject)的攻击,但我想问一下以确定。我在一个教程中注意到,我正在查看它们确实绑定(bind)了值,即使它不是传递的变量,这让我想知道我是否做对了。

最佳答案

在这种情况下绑定(bind)不是必需的,它不是变量。

关于php - 在 where 子句中具有多个条件的 PDO 准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20557456/

相关文章:

php - MySQL select 查询发现一个不应该在 PDO 中找到的结果

php - 如何使用 Cron 作业每天将行插入数据库?

php\r 和\n 一样吗?

php - 如果没有更多条目要加载,在 mysql 查询中添加 if 语句?

php - 如何通过 Eloquent ORM 选择 json 之类的键和值数组?

php - 向从 PHP 中的变量构建的数组添加附加值

php - 在 MySQL 中选择多个表阻止我使用 <= 表达式

javascript - PHP 脚本无法收集调用 html 页面的文件名

php - 使用 codeigniter 在非对象上调用成员函数 num_rows()

mysql - 从表 B 中选择具有表 A 中的多个条件的条目