下面是我的疑问:
global $wpdb;
$result = $wpdb->get_results( "SELECT NAME_MYCOLUMN FROM NAME_TABLE");
foreach ( $result as $row )
{
$data = "$row-> NAME_MYCOLUMN|";
}
$val = "'/\b($data)\b/i'";
echo $val;
我得到这个:
'/\b(word1|)\b/i'
其中word1
是最后一个值。
相反,我希望这样:
'/\b(word1|word2|word3|word4|.......)\b/i'
我的目标是获取所有列的值,而不仅仅是最后一个。
谢谢大家,但这三种解决办法都不奏效,结果是一样的:(我的表格里有一百多个字,但我有:
'/\b(word1|word2|word3|word4|word5|word6|word7|word8|
有解决办法吗?
编辑
我已经明白错误在哪里了。我不小心将一个ID9〈word9的单词添加到数据库中,这个(〈)已经破坏了ID为8的单词后面的代码
3条答案
按热度按时间idfiyjo81#
你可以使用
$wpdb->get_col
来获取一个数组值,然后使用implode
将它们与|
连接起来。mbskvtky2#
mefy6pfw3#
可以使用
GROUP_CONCAT
返回一行中的所有行