Mysql select 数组中的值

Mysql select values from array

我创建了以下数组:

$selectedvillas[] = array (
    'villaname' => $row1['name']

并与

print_r($selectedvillas);

它打印:

Array ( [0] => Array ( [villaname] => Villa 1 ) [1] => Array ( [villaname] => Villa 2 ) [2] => Array ( [villaname] => Villa 3 ) [3] => Array ( [villaname] => Villa 4 ) [4] => Array ( [villaname] => Villa 5 ) [5] => Array ( [villaname] => Villa 6 ) [6] => Array ( [villaname] => Villa 7 ) [7] => Array ( [villaname] => Villa 8 ) [8] => Array ( [villaname] => Villa 9 ) [9] => Array ( [villaname] => Villa 10 ) [10] => Array ( [villaname] => Villa 11 ) [11] => Array ( [villaname] => Villa 12 ) )

我想 select 来自 mysql 数组中的所有上述 villaname,其中 villa 是带有 villanames

的上述数组
$query_reviews= "SELECT * FROM reviews where villa IN $selectedvillas order by dateofreview DESC";

您必须将数组格式化为字符串。

首先,您似乎可以通过更简单地构建数组来简化您的工作,如下所示:

$selectedvillas[] = $row1['name'];

然后您可以使用 implode() 以逗号分隔的字符串轻松格式化您的数组。

我经常用这个:

$query_reviews= "SELECT * FROM reviews 
WHERE villa IN ('" .implode("', '", $selectedvillas) . "') order by dateofreview DESC";

注意:那些单引号很容易被遗漏,但它们很重要。