Lobezki
Новичок
Доброго времени суток!
Необходимо подключить автозаполнение инпута в поисковике. Пытался подключить, но через отладчик в хроме Ajax.php выдаёт: ERROR: SQLSTATE[HY000]: General error:1 no such table: materials[].
Странно, ведь таблица у меня существует и с ней работаю) Вопрос заключается в том как решить траблу или возможно ли использовать простой mysql-запрос?
Необходимо подключить автозаполнение инпута в поисковике. Пытался подключить, но через отладчик в хроме Ajax.php выдаёт: ERROR: SQLSTATE[HY000]: General error:1 no such table: materials[].
Странно, ведь таблица у меня существует и с ней работаю) Вопрос заключается в том как решить траблу или возможно ли использовать простой mysql-запрос?
PHP:
public function action_search()
{
define ('DB_DRIVER', 'sqlite');
define('DB_SERVER', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_NAME', 'library');
if (isset($_GET['term'])){
$returnArr = array();
try
{
$db = new PDO(DB_DRIVER.":host=".DB_SERVER.";dbname=".DB_NAME, DB_USER, DB_PASSWORD);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$cap = $db->prepare("SELECT content FROM materials WHERE content LIKE :term");
$cap->execute(array('term' => '%'.$_GET['term'].'%'));
while($row = $cap->fetch())
{
$returnArr[] = $row['content'];
}
}
catch(PDOException $e)
{
echo 'ERROR: ' . $e->getMessage();
}
echo json_encode($returnArr);
}
}
HTML:
<link rel="stylesheet" href="css/jquery-ui.css">
<script src="js/jqueryautocomplete.js"></script>
<script src="js/jquery-ui.js"></script>
<div id="wrapper">
<label for="capitals">Capitals</label>
<input type="text" id="capitals" name="capitals">
</div>
<script type="text/javascript">
$(function(){
var x = document.getElementById('capitals');
x.focus();
$('#capitals').autocomplete({
source: "ajax/search",
minLength: 2
});
});
</script>