【问题标题】:Preparing Mysqli Select Using Explode使用 Explode 准备 Mysqli Select
【发布时间】:2014-12-25 06:19:53
【问题描述】:

在这里我用, 分解上面的字符串并得到数组$myArray。

<?php
$myString = '1,2,3,4';
$myArray = explode(',', $myString);
print_r($myArray);

但是我怎样才能使它成为一个选择语句

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 循环中

【问题讨论】:

    标签: php loops mysqli foreach


    【解决方案1】:

    无需爆炸。使用IN 运算符检查大小写

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

    查询喜欢

     SELECT * FROM Persons where id IN (1,2,3,4);
    

    【讨论】:

      【解决方案2】:

      我认为每次迭代都进行查询是个坏主意。而是运行单个查询,例如

      $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.")");
      

      【讨论】:

        【解决方案3】:

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

        $myArray = explode(',', $myString);
        

        如果您对字符串值有某些特定需求,请使用:

        $myArray =array_map('strval', $myArray );
        
        mysqli_query($con,"SELECT * FROM Persons where id IN (".$myString.")");
        

        【讨论】:

          【解决方案4】:

          您可以使用:

          mysqli_query($con,"SELECT * FROM Persons where IN ('".$myString."')");
          

          或者:

          $ids = join(',',$myArray); 
          mysqli_query($con,"SELECT * FROM Persons where IN ($ids)");
          

          【讨论】:

            猜你喜欢
            • 2010-11-17
            • 1970-01-01
            • 1970-01-01
            • 2015-06-01
            • 1970-01-01
            • 2018-12-11
            • 2014-10-03
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多