Как сделать корректный запрос Mysqli?

Здравствуйте!
Пробую подготовить и выполнить запрос в mysql, но в ответ возвращается пустой результат!

$param = "%{$name}%";
$stmt = $mysqli->prepare("SELECT topic_id FROM prefix_topic WHERE title LIKE ?");
$stmt->bind_param("s", $param);
$stmt->execute();


Пробовал использовать:

$query = "SELECT * FROM `prefix_topic` WHERE `title` LIKE '%$name%'";
$mysqli_query($query);


Проблему удалось выявить в переменно $name присутствует дефис, без него все корректно работает, как теперь решить эту проблему?
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 2
@polar-bear
а потом наверно нужно как то так:
$stmt->bind_result($topicID);
while ($stmt->fetch()) {
    print_r($topicID);
}
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
правильнее так:
$param = $name;
$stmt = $mysqli->prepare("SELECT topic_id FROM prefix WHERE title LIKE '%?%'");
$stmt->bind_param("s", $param);
$stmt->execute();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы