我有一个字符串,其中一些网址以|
分隔,即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 '% ... %'
吗?
答案 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);