Php 在一列中查找具有一个where条件的多个值

Php 在一列中查找具有一个where条件的多个值,php,mysql,Php,Mysql,这是我的个人资料表: 名称 技能 无名氏 php开发、css、html、ajax 无名氏 xml、jquery、ajax、php开发 马金森·扎克伯格 html、php开发、ajax、magento 不能像“%something%”、“%somethingelse%”那样使用,,该语法无效。您需要使用或关键字列出您的筛选可能性 假设$\u GET['services']是一个数组: <?php $_GET['services'] = array('affiliate-marketin

这是我的个人资料表:


名称
技能
无名氏
php开发、css、html、ajax
无名氏
xml、jquery、ajax、php开发
马金森·扎克伯格
html、php开发、ajax、magento

不能像“%something%”、“%somethingelse%”那样使用
,该语法无效。您需要使用
关键字列出您的筛选可能性

假设
$\u GET['services']
是一个数组:

<?php

$_GET['services'] = array('affiliate-marketing', 'ajax');
$sql = ''; // just for output purposes

$services_like = array() ;
foreach ($_GET['services'] as $service) {
    $services_like[] = ' service LIKE "%' . $service . '%" ';
}
$services_like_string = implode (' OR ', $services_like);

$sql .= 'AND ( ' . $services_like_string . ' ) ';

echo $sql; // echoes : AND ( service LIKE "%affiliate-marketing%" OR service LIKE "%ajax%" ) 
?>

分别添加每个
服务
术语,并使用准备好的语句来避免sql注入。避免连接并使用PDO准备好的语句我知道,但我需要使用连接,因为我正在使用get方法@jeroetry RLIKE'tom | smith | larry'中的更多条件;这一个使选择更加容易*与状态为'1'的配置文件和类似于'affiliate marketing | ajax'的服务不同;按pid描述订购