从列中选择子字符串

时间:2018-06-11 23:02:55

标签: php mysql

我有这个功能

  public function returnArticlesByTag($tag)
{
return Db::queryRows('
SELECT * FROM `articles` WHERE `keywords` like `%?%` limit 10;
', array($tag));
}

public static function queryRows($query, $parameters = array())
{
$return = self::$connection->prepare($query);
$return->execute($parameters);
return $return->fetchAll();
}

我想找到string' $ tag'包含在表格'文章'在列'关键字'

当我调用function' returnArticlesByTag'用字符串我有这个错误。

未捕获的PDOException:SQLSTATE [42S22]:找不到列:1054未知列'%?%'在' where子句'在C:\ laragon \ www \ models \ Db.php:37

数据库中的<37>行是$ return = self :: $ connection-&gt; prepare($ query);

我尝试使用可能重复的答案。现在我没有任何错误。通过选择选择0行。它不正确。

public static function queryMYRows($query, $parameters = array())
  {
    $return = self::$connection->prepare($query);
    $return->execute(array('%value%'));
    var_dump($return);
    return $return->fetchAll();
  }
public function returnArticlesByTag($tag)
  {
    return Db::queryMYRows('
    SELECT * FROM `articles` WHERE `keywords` like ? limit 10;
    ', array($tag));
  }

0 个答案:

没有答案