【问题标题】:PHP - MySql ArrayPHP - MySql 数组
【发布时间】:2015-02-12 20:12:32
【问题描述】:

我是 PHP 新手,我无法解决这个问题:我有一个看起来像这样的数组 (PHP)

"tandemArray":["English", "German"]  

正如在我的 LogCat 中看到的(Eclipse,我将数组返回给 Android 客户端并在 Eclipse 中记录它)。我想用类似于以下的字符串查询数据库:

$myQuery = "SELECT id 
            FROM my_users 
            WHERE // some code
            AND Tandem_Tongue IN ("English", "German"); // The tandemArray

我尝试了不同的方法,但没有成功。例如:

$myQuery = "SELECT id 
            FROM my_users 
            WHERE // some code
            AND Tandem_Tongue IN ("' . implode('","', $tandemArray) . '")'; 

我将非常感谢任何帮助!

【问题讨论】:

  • 你到底想做什么?
  • 好吧,你的方法中有不匹配的引号和双引号;尝试颠倒 ' 和 " 就像这样:AND Tandem_Tongue IN ('" . implode("','", $tandemArray) . "')";
  • 谢谢!!它现在起作用了!我会选择你的答案是正确的,但这是一个评论,我不知道如何

标签: php android mysql arrays eclipse


【解决方案1】:

代码在您显示的方法中使用了不匹配的引号和双引号;尝试将 ' 和 " 颠倒成这样:

$myQuery = "SELECT id"
    . " FROM my_users"
    . " WHERE 1=1" // using an actual WHERE-clause
    . " AND Tandem_Tongue IN ('" . implode("','", $tandemArray) . "')";

【讨论】:

    【解决方案2】:

    正确的代码由 ChrisForrence 提供:

    $myQuery = "SELECT id 
            FROM my_users 
            WHERE // some code
            AND Tandem_Tongue IN ('" . implode("','", $tandemArray) . "')'; 
    

    问题在于引号不匹配。

    【讨论】:

      【解决方案3】:

      不是肯定的,但我认为您的示例中的引号和句点不匹配。应该更像:

      $myQuery = "SELECT id 
              FROM my_users 
              WHERE // some code
              AND Tandem_Tongue IN (".implode("','",$tandemArray).")'; 
      

      我只是在数组元素周围使用了单引号,因为这通常更容易让我在 mysql 查询中破译。例如。 'English', 'German' 如果需要双引号,则需要调整。

      【讨论】:

      • 我的答案与 ChrisForence 的不同,因为我不是以单引号开头的数组。我认为内爆声明已经在您的开头放了一个。
      • 小心;它没有!不过,如果这样做就好了,您可以编写一个帮助方法来为您处理这些问题
      猜你喜欢
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 2014-05-10
      • 2018-03-03
      • 2015-10-11
      • 2016-10-07
      相关资源
      最近更新 更多