到目前为止,我只对SQL insertions使用了预准备语句,但我想知道我是否必须对all SQL queries使用预准备语句?如果是,我如何在下面的SELECT语句中使用它们?

// sql for category
$sql_category = "SELECT id as id_category, name as name_category
                FROM category";

$results = mysqli_query($conn, $sql_category);

if ($results === false) {
    echo mysqli_error($conn);
} else {
    $categories = mysqli_fetch_all($results, MYSQLI_ASSOC);
}

我很高兴得到正确的回答,如果你有任何建议或问题,请让我知道.

目前,此代码运行正常.

推荐答案

SQL注入预防是预准备语句的100特性,否则,它们只是"预准备语句"……准备一次,执行多次,使用不同的参数值.

也就是说,您可以在整个代码库中使用预准备语句以保持一致性,即使查询不接受任何参数.代码将更长,但更干净--字符串连接更少,对mysqli::real_escape_string的调用更少.您必须:

Php相关问答推荐

使用额外的输入字段自定义WooCommerce单个产品

使用WooCommerce本机产品短码时不考虑价格筛选(_SHORT CODE)

Laravel eloquent-如果没有包含InitialValue的结果,则查询where Second Value

MULTI UPDATE Laravel为什么只能更新我的第一行

如何将隐式乘法添加到PHPPEG基本计算器语法中?

在WooCommerce管理中 for each 运输方法设置添加自定义字段

使用与OpenSSL命令行兼容的AES-256-CTR为大型文件创建php代码OpenSSL加密

在WooCommerce存档页面中显示可变产品的库存变化属性

未检测到laravel控制器

Wordpress,配置一周第一天选项

WooCommerce:如果订单总数为零,则隐藏本地取货运输选项

PHP 在数组中搜索值

加载 Xdebug PHP 7.4.0 失败

Xdebug 不会在断点处停止

如何从 PHP 中的 .txt 文件中列出今天生日的人的姓名?

PHP preg_replace括号和方括号内的所有逗号

我怎样才能在 .htaccess 中有 2 个参数?

判断类别是否存在 Shopware 6

Laravel Docker 几个数据库

Eloquent 的模型更新了它应该 laravel php 的更多行