Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-MySql数组_Php_Android_Mysql_Arrays_Eclipse - Fatal编程技术网

PHP-MySql数组

PHP-MySql数组,php,android,mysql,arrays,eclipse,Php,Android,Mysql,Arrays,Eclipse,我是PHP新手,解决这个问题时遇到了困难:我有一个数组(PHP),看起来像这样 "tandemArray":["English", "German"] 正如在我的LogCat(Eclipse)中所看到的,我将数组返回到Android客户端并将其记录在Eclipse中。我想用类似以下的字符串查询数据库: $myQuery = "SELECT id FROM my_users WHERE // some code AN

我是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) . '")'; 

我将非常感谢任何帮助

正确的代码由ChrisForrence提供:

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

问题在于报价不匹配

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

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

我只是在数组元素周围使用了单引号,因为在mysql查询中这通常更容易破译。例如,“英语”、“德语”如果需要双引号,则需要进行调整。

代码在所示方法中使用了不匹配的引号和双引号;尝试将“和”反转为如下所示:

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

你到底想做什么?好吧,在你展示的方法中,你有不匹配的引号和双引号;试着将“and”倒过来:
和Tandem_舌头插入(“.”。内爆(“,”,$tandemArray)。“)";谢谢!!现在成功了!我会选择你的答案作为正确答案,但这是一个评论,我不知道我的答案与ChrisForence的有什么不同,因为我没有用一个引号来开始数组。我认为内爆声明已经为你揭开了一个序幕;没有!不过,如果它能做到这一点,那就太好了,您可以编写一个帮助器方法来为您解决这个问题