PHP:将数组的每个元素追加到字符串/查询

时间:2015-12-03 19:02:12

标签: php mysql sql

我有一个字符串,其中一些网址以|分隔,即http://URL1|http://URL2|...|http://URL#

我正在尝试构建一个要在查询中使用的字符串,结果将是:

$query = "OR page_url LIKE '%http://URL1%' OR page_url LIKE '%http://URL2%' OR page_url LIKE '%http://URL3%'"

此字符串将添加到我正在准备的查询中

$result = $db->prepare("SELECT * FROM table WHERE column1 = 'abc' :urlquery");
$result->bindValue(':urlquery', $query);

这会有用吗?这也是运行查询的最佳方式,我对每个网址都有OR page_url LIKE '% ... %'吗?

3 个答案:

答案 0 :(得分:1)

分隔字符串应该是这样的

$array = explode('|',$string);

然后你得到一个所有网址的数组。然后你可以准备新的字符串

$query = "OR page_url LIKE '%";
foreach($array as $element){
    $query .= $element."%' OR page_url LIKE '%";
}
$query = rtrim($query," OR page_url LIKE '%");

我认为您现在已经创建了查询以使用它

答案 1 :(得分:0)

$ array = explode('|',$ numbers);

现在您拥有此阵列中的所有网址。所以你可以使用它。

答案 2 :(得分:0)

你必须这样做

$urls="'%" . str_replace("|", "%'|'%", $url) . "%'";

制作这样的网址:

'%http://URL1%'|'%http://URL2%'|...|http:%'

现在拆分他们

$split = explode('|', $urls);

然后崩溃他们:

 $query = implode('OR page like ', $split);