使用 MySql、PHP 和 ADODB 在准备好的语句中参数化 IN 子句

2023-12-15

我正在编写一些 SQL 并使用 AdoDb 连接到我的数据库并运行查询等。我正在使用参数化查询并遇到了障碍。

它们是一种将值数组传递给 AdoDb/MySql 中的 in_clause 进行参数化的方法。

我的问题是,如果我传递一个准备好的字符串作为参数,即'测试','测试2','测试3'它不起作用,因为库或数据库自动转义它并在开头和结尾添加外部引号,因此所有内部引号都会自动转义,因此查询在查找时不会返回任何内容'\'测试\',\'测试2\',\'测试3\''而不是我喂它的东西。

更新了另一种可能的方法来完成此任务

<?php
$in_clause = implode(",", $first_names);

$query = "
SELECT    
    mytable_id_pk
FROM 
    mytable
WHERE
FIND_IN_SET(mytable_fname," . $DB->Param('first_names') . ")"

$stmt = $DB->Prepare($query);

$result = $DB->Execute($stmt,array($in_clause));
?>

我会这样做(因为我在谷歌上搜索了一段时间,谷歌没有找到任何有用的东西):

$count = count($first_names);
$in_params = trim(str_repeat('?, ', $count), ', ');

$query = "
SELECT    
    mytable_id_pk
FROM 
    mytable
WHERE
    mytable_fname IN ({$in_params});";

$stmt = $DB->Prepare($query);
$result = $DB->Execute($stmt, $first_names);

这应该可以做到...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MySql、PHP 和 ADODB 在准备好的语句中参数化 IN 子句 的相关文章

  • 如何在 JavaScript 中创建服务器端进度指示器?

    我想在我的网站中创建一个部分 用户可以在其中进行一些简单的操作update纽扣 这些中的每一个update按钮将发送到服务器 并在幕后进行长时间的处理 当服务器处理数据时 我希望用户有某种进度指示器 例如进度条或文本百分比 我使用 jQue
  • PDO PHP 连接,致命错误

    我的连接类 firstcode php class DB functions public db function construct try db new PDO mysql localhost dbname xxx charset ut
  • 如何使用 Perl 更改 mysql 密码

    我需要使用 Perl 脚本更改一些 mysql 密码 以下内容在更改数据库条目时有效 但是当我针对 mysql 用户更改修改它时 它将它们重置为空白密码 最后 刷新权限 也很好 但我还没有找到方法 usr bin perl use DBI
  • 在 C#.NET 应用程序中使用 SQL Server 时间数据类型?

    如何使用 SQLtimeSQL Server 2008 中 C NET 中引入的数据类型 我一直在努力让它发挥作用 但没有成功 这是一个MSDN 文章 http msdn microsoft com en us library bb6751
  • Bugzilla 中分离客户端的基本权限

    我正在尝试配置一个 Bugzilla 实例 这将允许我的客户登录并为其正在开发 维护的网站提交错误 例如 我创建了 2 个名为 TestProject TestProject2 的产品和一个名为 TestClient 的用户 我想要实现的是
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • 月份增量查询

    我想通过添加 1 个月来更新数据库中的月份 但我不知道如何在以下存储过程查询中添加月份 我不擅长 sql 请检查它 ALTER PROCEDURE dbo ChangePassword password varchar 20 epasswo
  • 为什么我可以像调用实例方法一样调用类方法?

    我正在查看这个例子 class SQLObject def self columns return columns if columns columns DBConnection execute2 lt lt SQL first SELEC
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • XML 解析:格式良好的检查:未声明的实体

    我正在使用 SSMS 2008 但收到以下错误 你知道这意味着什么吗 Msg 9448 Level 16 State 1 Line 4 XML parsing line 1 character 89 well formed check un
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • 在 postgres 查询中使用列表

    我有一个动态列表 list a b c d 所以长度可能会改变 我想在查询中比较这些列表值 select from student where name in all the list values 我想将列表值传递到此查询中 我怎样才能做
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • 雄辩的第一个 where 子句

    我想知道 Laravel 如何实现雄辩的语法 以便可以静态调用第一个 where 子句User where User where id 23 gt where email email gt first 他们有吗public static f
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun
  • 在本地 SDK 服务器上工作时,实时 Google App Engine 上出现 404

    我已经在GAE标准环境上部署了几个PHP应用程序 一切正常 现在我正在部署一个新应用程序 该应用程序位于由gcloudSDK按预期工作 终端命令 dev appserver py log level warning app yaml 问题是

随机推荐

  • 如何使用 vuetify 使字体大小响应?

    In vuetify他们有排版辅助类 例如 display 4货物用于h1 这是完整列表 当我为某些元素选择 display 1 时 在所有分辨率中 该类都会获得相同的字体大小 34px 我本来期待 display 4屏幕宽度为 1024
  • Spring Cloud Stream @SendTo注释不起作用

    我正在将 Spring Cloud Stream 与 Spring Boot 结合使用 我的应用程序非常简单 示例服务 类 EnableBinding Processor1 class Service public class Exampl
  • 仅用于文件大小的 Windows 命令

    是否有 Windows 命令可以像这样输出指定文件的大小 以字节为单位 gt filesize test jpg 65212 我知道dir命令输出此信息 但它也输出其他信息 我可以轻松编写这样的程序 但如果可能的话 我更愿意使用本机 Win
  • PHP-如何在数组内合并数组[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 php中如何合并n个数组我的意思是我怎样才能完成这样的工作 array merge from result 0 to result count result 1 OR array me
  • Winforms:如何使用C#将图片上传到SQL Server数据库

    我想将图像上传到我的 SQL Server 数据库 我有两个按钮 一个图片框 使用浏览按钮 我可以从磁盘中选择文件 并将其显示在图片框中 问题是我无法将图片从图片框保存到数据库中 请帮我解决代码 欣赏它 您可以直接从其路径保存图像 您已经拥
  • python pandas 中的分块文件上的数百万个键上的 grouby 出现问题

    我有一个非常大的 CSV 文件 数十千兆 其中包含带有以下列的网络日志 user id time stamp category clicked 我必须构建一个记分器来识别用户喜欢和不喜欢的类别 请注意 我有超过 1000 万用户 我首先把它
  • 将转换器绑定到 Windows Phone 8 应用程序中的 XAML

    我的 xaml 页面代码
  • Math.max 和 Math.min 输出允许的最高和最低值

    所以我试图制作一个程序来输出总和 平均值 最小值和最大值 我基本上已经弄清楚了除了最小和最大值输出 2147483647 和 2147483647 之外的所有内容 我相信这是 Java 将计算的绝对最小和最大值 无论如何 我想计算用户输入的
  • 如何在警报对话框中设置警报文本大小

    默认情况下的警报消息对于屏幕较小的特定设备来说太大 我想将其设置为自定义 dp 我的警报是这样的 OnClickListener addNewItemListener new OnClickListener public void onCl
  • 嵌入仅限 Perl 的模块以及嵌入式 Perl 解释器

    我跟着https perldoc perl org perlembed并成功建立了interp二进制 当我使用static ext 输出目录有 pm文件安装到前缀目录中 如何添加自定义简单 pm模块如TLUtils pm无需将模块文件解压到
  • Python,字符串中字符的具体计数

    我正在尝试计算 python 中字符串出现的次数 我想采用二进制输入 例如 001101 然后计算 1 0 11 00 等的数量 我试图通过使用 count 来实现这一点 但是当我只希望它输出 1 1 和 1 11 时 这会输出有 3 个
  • Python 2.x 可选子解析器 - 错误参数太少

    我一直在尝试设置一个带有两个子解析器的主解析器 以便在单独调用时 主解析器会显示一条帮助消息 def help message print help message import argparse parser argparse Argum
  • C 中二分查找的第一次和最后一次出现

    我试图了解如何修改二进制搜索 使其适用于第一次和最后一次出现 当然我可以在网上找到一些代码 但我试图深入理解 这里是一些基本的非递归二进制搜索我发现 int BinarySearch int array int number of elem
  • 更改快速选择器的悬停颜色

    是否可以通过设置更改快速选择器所选选项的颜色 要保留当前主题并仅更改此颜色 请在设置中找到 工作台 颜色自定义 然后单击 在 settings json 中编辑 然后将以下内容添加到屏幕右侧的用户设置中 workbench colorCus
  • 推荐的c# winform控件包[关闭]

    Closed 这个问题是无关 目前不接受答案 我正在寻找商业 免费推荐的 c winform 控件包 开发快递 我试过了组件一 DevExpress 和Telerik
  • 将 NSString 绘制到 UIImage

    我有一个 NSString 对象 我想将其写入现有的 UIImage 对象 UIImage 对象已经有一些与之关联的图像 我想将字符串写入同一张图像 我如何实现它 编辑 以下是实现编辑 UIImage 并在其上写入文本的基本步骤 从 UII
  • Tomcat 使用 Windows 证书存储进行 SSL

    我使用 Tomcat 9 0 10 并希望使用 Windows 证书存储来保存 SSL 私钥和证书 有这里是另一个线程 这似乎有答案 但是启动 Tomcat 时出现异常 我的 server xml 如下所示
  • 如何捕获Retrofit android中的异常

    我已将类定义如下 我在这里使用了 dagger 和 Retrofit 我正在尝试做什么 我正在努力抓住OfflineException在下面的请求中 如何在主活动中正确捕获它 请求拦截器 java public class RequestI
  • 通过更改 Android 中的应用程序语言来更改默认手机语言?

    有没有办法通过更改应用程序的语言来更改手机的语言 我的意思是 当我更改应用程序的语言时 默认手机语言也会更改 对此有什么想法请在这里分享 提前致谢 我不知道它可以通过编程方式更改 但是在更改应用程序语言后 您也可以要求用户更改设备语言 要求
  • 使用 MySql、PHP 和 ADODB 在准备好的语句中参数化 IN 子句

    我正在编写一些 SQL 并使用 AdoDb 连接到我的数据库并运行查询等 我正在使用参数化查询并遇到了障碍 它们是一种将值数组传递给 AdoDb MySql 中的 in clause 进行参数化的方法 我的问题是 如果我传递一个准备好的字符