2015-04-13 3 views
1

Эй, ребята, так что я пытаюсь найти что-нибудь, что есть что-то вроде ангела в названии, но по какой-то причине его не возвращающей ничего примера я получил название фильма сPDO ВЫБРАТЬ LIKE не находит ничего

Женщина в черном 2 : Angel of Death (2014)

Но он продолжает говорить Ничего не нашел никакой помощи, было бы удивительным спасибо!

<?php 
require_once("../connection/config.php"); 
global $instance; 

$search="Angel"; 
$query = $instance->prepare("select * from movies where title LIKE '%$search%' LIMIT 0 , 10"); 
$query->bindValue(1, "%$search%", PDO::PARAM_STR); 
$query->execute(); 

     if (!$query->rowCount() == 0) { 
       echo "Search found :<br/>"; 
       echo "<table>"; 
       echo "<tr>Movies</tr>"; 
      while ($results = $query->fetch()) { 
       echo "<tr>"; 
       echo $results['title']; 
       echo "</tr>"; 
      } 
       echo "</table>"; 
     } else { 
      echo 'Nothing found'; 
     } 
?> 
+0

Заменить ''% search% ''for'? ' – Daan

+0

Это не сработало. –

ответ

0

Я не думаю, что вы можете вставить переменную в кавычки при связывании или он будет преобразован в строку , Я считаю, что вам нужно будет добавить подстановочные знаки заранее.

$search="%Angel%"; 
$query = $instance->prepare("select * from movies where title LIKE ? LIMIT 0 , 10"); 
$query->bindValue(1, $search, PDO::PARAM_STR); 
+0

К сожалению, это не сработало :(все еще говорит, что ничего не найдено, спасибо за попытку в любом случае. –

+0

Должно быть потому, что ваш 'count' - это не то, что вы ожидаете. Попробуйте это,' $ count = $ query-> rowCount(); 'then echo it. – EternalHour

+0

Получил это для возврата эха 0. –

1

Это должно быть -

$query = $instance->prepare("select * from movies where title LIKE :val LIMIT 0 , 10"); 
$query->bindValue(':val', "%$search%", PDO::PARAM_STR); 
+1

Это неправильно и не будет работать, вы должны удалить оба '%' в запросе. – Daan

+0

спасибо за указание. Обновлен ответ. :) –

+0

По какой-то причине его высказывание ничего не найдено x.x –

0

Попробуйте

$query = $instance->prepare("select * from movies where title LIKE :search LIMIT 0, 10"); $query->bindParam(':search, '%'.$search.'%'); $query->execute();

+0

Это не помогло. –

+0

Любые ошибки или просто пустое возвращение? Plesse разрешает ведение журнала запросов SET global general_log = 1; SET глобальный log_output = 'table'; и проверить сгенерированный SQL – malle

Смежные вопросы