Как связать текстовый литерал, окруженный символами подстановки, используя подготовленные операторы MySqli? - PullRequest
0 голосов
/ 25 сентября 2018

Я знаю, как это сделать способом PDO:

$sql = "SELECT * FROM bricks ";
$sql .= "WHERE text LIKE :phrase AND tags LIKE :tag ";
$sql .= "ORDER BY hearts DESC LIMIT {$start}, {$pagesOnSite}";
$query = $db->prepare($sql);
$query->bindValue(':phrase', '%'.$phrase.'%', PDO::PARAM_STR);
$query->bindValue(':tag', '%'.$tag.'%', PDO::PARAM_STR);
$query->execute();

Как выполнить тот же запрос в режиме stmt.Я пробовал что-то вроде этого:

$sql = "SELECT * FROM bricks ";
$sql .= "WHERE text LIKE ? AND tags LIKE ? ";
$sql .= "ORDER BY hearts DESC LIMIT {$start}, {$pagesOnSite}";
$stmt = $db->prepare($sql);
$stmt->bind_param("ss", "%".$phrase."%", "%;".$tag.";%");
$stmt->execute();

Но он возвращает:

Fatal error: Uncaught Error: Cannot pass parameter 2 by reference
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...