使用:对应于%[word]%的标签,可以在mysql中使用LIKE吗?

时间:2017-03-27 20:16:22

标签: php mysql sql pdo

我有一个SQL查询:

SELECT id, title, file_name, file_path 
FROM Image 
WHERE title LIKE :search

pdo sql请求的准备如下:

//$search is "karen"
$param = "%$search%":
$stmt = $db->prepare($query);
$executed = $stmt->execute(array(':search' => $param));
if(!$executed){
  $error['error'] = $stmt->errorInfo();
  echo json_encode($error);
  exit();
}

我的问题是,%karen%是否会被解释为sql(其中%karen%表示karen之前的0个或更多字符以及karen之后的0个或更多字符或这会被解释为我在搜索具有%karen%的标题吗?

1 个答案:

答案 0 :(得分:0)

您可以使用concat追加%并直接传递参数:

SELECT id, title, file_name, file_path 
FROM Image 
WHERE title LIKE concat('%', :search, '%')