【问题标题】:MySQLi with OR condition arrayMySQLi 与 OR 条件数组
【发布时间】:2014-03-10 14:21:48
【问题描述】:

说一个包含序列号的数组变量$i。示例:$i=array("1", "15", "20", "23"); 此变量由$_POST 设置。

而 MySQLi 查询是删除数组中存在序列号的行。即如果序列号 = 1 或 15 或 20 或 23,则删除该行。如何将其编写为单个 MySQLi 准备好的语句?

我尝试使用foreach,但该逻辑将查询 n 次,其中 n 是数组的大小。

foreach($i as $sno)// Only the logic I use
{
    DELETE FROM `table` WHERE `sno`=?
    bind_param("i", $sno);
    execute();
}

如何简化以便查询可以重写为sno=[1] or [2] or [3] or ... [n]

【问题讨论】:

标签: php arrays mysqli


【解决方案1】:

您可以使用IN

这是逻辑,

DELETE FROM table WHERE sno IN ($i)

【讨论】:

  • 在所有可能的答案中,这个太棒了。
  • @YourCommonSense:这是讽刺还是推荐?
  • 其实没关系。没人在乎。
猜你喜欢
  • 1970-01-01
  • 2019-05-26
  • 1970-01-01
  • 2017-03-28
  • 2013-04-07
  • 1970-01-01
  • 1970-01-01
  • 2016-12-20
  • 1970-01-01
相关资源
最近更新 更多