我在剖析一些代码,发现了这个,

$sql = 'SELECT page.*, author.name AS author, updator.name AS updator '
     . 'FROM '.TABLE_PREFIX.'page AS page '
     . 'LEFT JOIN '.TABLE_PREFIX.'user AS author ON author.id = page.created_by_id '
     . 'LEFT JOIN '.TABLE_PREFIX.'user AS updator ON updator.id = page.updated_by_id '
     . 'WHERE slug = ? AND parent_id = ? AND (status_id='.Page::STATUS_REVIEWED.' OR status_id='.Page::STATUS_PUBLISHED.' OR status_id='.Page::STATUS_HIDDEN.')';

我想知道是什么在WHERE语句中.它是某种参数持有者吗?

推荐答案

准备好的语句使用"?"在MySQL中,允许将参数绑定到语句.如果使用得当,被认为对SQL注入更安全.这还允许更快的SQL查询,因为请求只需编译一次就可以重用.

Mysql相关问答推荐

是否有一种方法可以 Select 表中具有特定列值的行,该行还显示phpmyadmin中原始表中的行号?

AWS RDS上的MySQL复制错误:超级权限或REPLICATION_SLAVE_ADMIN权限的访问被拒绝

根据SQL中的平均范围对学生进行排名

Python MySQL-无法从数据库中删除行

错误 2020 (HY000): 数据包大于 'max_allowed_pa​​cket' 字节,docker 容器内出现 mysql 错误

状态为已发货的订单返回产品总数量的SQL(不同的两张表)

基于关系的每个实体有一个真值和多个假值

如何将结果列中的不同值按其他列sql中的值带入单行

插入二进制数据会导致Data too long for column...

MySQL在定义表的位置后抛出错误

如何通过未知列中的唯一值有效地更新 MySQL 行

mysql从另一个表中 Select 不相等的值

PHP PDO 与普通 mysql_connect

Python MYSQL 更新语句

MySQL嵌套 Select 查询?

如何从 MySQL Workbench 中的图表生成 SQL 脚本?

phpMyAdmin - 无法连接 - 无效设置 - 自从我添加了 root 密码 - 被锁定

如何将 mysqldump 的输出拆分为较小的文件?

MySQL:唯一字段需要是索引吗?

mysql错误'TYPE = MyISAM'