当前位置: 首页 > 面试题库 >

我可以使用MYSQLI和PHP将多个值绑定为单个参数吗?

宋正真
2023-03-14
问题内容

想象一下,我有以下SQL查询:

SELECT id,name FROM user WHERE id IN ('id1','id2','id3')

现在想象一下,我需要由PHP提供的ID数组。所以我有这样的事情:

$idList = array('id1','id2','id3');
$query = "SELECT id,name FROM user WHERE id IN (?)";
$stmt = $db->prepare($query);
$stmt->bind_param(/*Something*/);

我可以替换为什么/*Something*/以获得与原始查询相同的结果?还是我需要在查询格式中放入3个问号?我不想这样做的唯一原因是因为问号的数量是可变的,所以我将不得不手动构建查询字符串。


问题答案:

我可以使用MYSQLI和PHP将多个值绑定为单个参数吗?

你不能。

对于您的情况,您应该以编程方式构建查询字符串。如果可以保证它将始终是三个值,则可以向SQL添加三个标记,然后通过遍历数组进行绑定。



 类似资料:
  • 问题内容: 现在,我需要使用以下结构来将多个参数绑定到mysqli查询中: 我使用以下代码计算出问号的数量,并将其插入查询中: 我的问题是,肯定有一种方法可以动态处理查询中尽可能多的输入。硬编码似乎是处理此问题的一种非常糟糕的方法。 我正在使用PHP版本5.4.10 问题答案: 不幸的是,默认情况下,bind_param()不接受数组而不是单独的变量。但是,自PHP 5.6起,将进行重大改进。 要

  • 问题内容: 这个问题不太可能对将来的访客有所帮助;它仅与较小的地理区域,特定的时间段或极为狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 6年前关闭。 我有一个mysql查询,但无法为其绑定参数 我已经试过了 但我收到了并且出错了: 警告:mysqli_stmt :: bind_param():类型定义字符串中的元素数量与绑定变量的数量不

  • 问题内容: 请看下面我的代码。我试图将一系列参数绑定到我准备好的语句中。我一直在网上四处逛逛,可以看到我必须使用call_user_func_array但无法正常工作。我得到的错误是:“第一个参数应该是有效的回调,给出了’Array’”我可能是错误的,但是我假设第一个参数可以是一个数组,并且此错误消息可能会引起误解。我认为问题是我的阵列在某种程度上存在错误。谁能看到我在做什么错?谢谢。 问题答案:

  • 我正在编写一个将处理事件消息的应用程序(发布到主题)。我有多个endpoint应该使用这些消息(和),出于实用的原因,我想将这些endpoint一起部署在一个聚合包中。 有了Spring Cloud Stream,我可以使用Spring。云流动绑定。文件上载已完成。group=元数据读取器,为第一个endpoint设置消费者组;我还想在配额检查组下处理消息,但基于属性的配置只允许每个消息队列绑定一

  • 问题内容: 我正在尝试使用 在我的Matrix类上,但是在我看来,它是行不通的(我仍然不太清楚使用python)。我这样称呼它: 是否可以使用多个参数?谢谢。也许我只能使用一个参数,但是将其作为元组传递? 问题答案: 仅接受一个参数(除外),因此您可以通过一个元组。 你可以这样做: 输出 查看文档的更多信息。

  • 我有6个输入框,每个输入框有4位数字。输入4位数字后,光标将自动转到下一个输入框。所有这些都是强制性的。 现在,可以在“onChange”事件中将自动聚焦设置为下一个文本框。但如何将这6个输入框的值绑定到表单上的一个字段。我有办法吗?