首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用爆炸制备Mysqli选择

利用爆炸制备Mysqli选择
EN

Stack Overflow用户
提问于 2014-12-25 06:19:53
回答 4查看 1.1K关注 0票数 0

在这里,我用,爆炸了上面的字符串,得到了数组$myArray。

代码语言:javascript
复制
<?php
$myString = '1,2,3,4';
$myArray = explode(',', $myString);
print_r($myArray);

但是如何使它成为select语句?

代码语言:javascript
复制
mysqli_query($con,"SELECT * FROM Persons where id = 'First part of Array'");
mysqli_query($con,"SELECT * FROM Persons where id = 'Second part of Array'");
mysqli_query($con,"SELECT * FROM Persons where id = 'Third part of Array'"); ..

在Foreach循环中

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-12-25 06:22:00

没必要爆炸。使用IN运算符检查何地情况

代码语言:javascript
复制
mysqli_query($con,"SELECT * FROM Persons where id IN (".$myString.")");

类似于查询

代码语言:javascript
复制
 SELECT * FROM Persons where id IN (1,2,3,4);
票数 1
EN

Stack Overflow用户

发布于 2014-12-25 06:30:29

如果您有IN运算符,为什么要编写多个sql:

代码语言:javascript
复制
$myArray = explode(',', $myString);

如果您对字符串值有特定的需要,请使用以下命令:

代码语言:javascript
复制
$myArray =array_map('strval', $myArray );

mysqli_query($con,"SELECT * FROM Persons where id IN (".$myString.")");
票数 1
EN

Stack Overflow用户

发布于 2014-12-25 06:32:00

我认为为每次迭代进行查询是个坏主意。而是运行一个查询,如下所示

代码语言:javascript
复制
$myString = '1,2,3,4';
$myArray = explode(',', $myString);
  // Just format the string so that it appears as  '1','2'... instead of  '1,2'
for ($i = 0; $i < count($myArray); $i ++)
{
   $myArray[$i] = "'" . $myArray[$i] . "'";
}
$myFormattedString = implode(',', $myArray);

mysqli_query($con,"SELECT * FROM Persons where id IN (".$myFormattedString.")");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27644723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档