暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CodeIgniter 4 查询参数绑定与 MySQL 中的示例

原创 谭磊Terry 恩墨学院 2022-08-03
556

与 CodeIgniter 4 Query Builder 类方法和函数一样强大和有用,有时您需要手工输入自己的查询。也许它们很复杂。或者,您宁愿编写原始 SQL。了解如何安全地使用您需要的输入 —— 通常作为 WHERE 子句条件的一部分 —— 使用 MySQL 中的示例使用 2 种不同的参数绑定变体。

查询生成器 where() 函数

相关:阅读我在 CodeIgniter 4 Query Builder where() 函数上编写的详细指南,了解有关可用的各种参数结构的更多信息。

对于这篇博文中的示例,我将登录并展示这些发往服务器的查询,通过使用 $db->getLastQuery() 方法。在这篇文章中阅读并了解更多关于 $db->getLastQuery()。

位置参数绑定

位置参数绑定 (?) 在 SQL 标准中定义,并且 CodeIgniter 4 也支持。

在第一个示例中,我使用 where 子句条件过滤器,name = ?,并在 $db->query()方法提供过滤值,通过数组2个元素:
image.png

在下面我们从 $db->getLastQuery() 看到发送到服务器,并被记录的查询:
image.png

命名绑定

您不仅可以使用位置参数绑定,还可以在查询中使用命名占位符绑定。

只需用冒号包围命名绑定,并在 $db->query() 方法使用关联数组作为第二个参数:
image.png

同样,我们从 $db->getLastQuery() 看到发送到服务器并被记录的的确切查询:
image.png

IN() 的位置参数绑定

如果您需要使用在()任何查询中的运算符,位置参数绑定也可以用于此。

放置’?’ 之 IN 关键字之后(不带任何括号 - 它们将自动包含在内),为了 $db->query() ,在数组的第二个参数中包含一个值数组 :
image.png

请注意,查询具有带有值的 IN() 运算符。
image.png

尽管本文中的示例查询非常简单,但您现在已经了解了如何在 CodeIgniter 4 中使用参数绑定和询问()在这些情况下,您有更复杂的查询需求。

原文标题:CodeIgniter 4 Query Parameter Binding with examples in MySQL
原文作者:Joshua Otwell
原文地址:https://joshuaotwell.com/codeigniter-4-query-parameter-binding-with-examples-in-mysql/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论