отображение данных из базы данных с помощью bindParam
Я хочу попытаться показать свои данные из базы данных с помощью bindParam, но я получаю некоторую ошибку.
Исправимая неустранимая ошибка: Объект класса PDOStatement не удалось преобразовать в строку в C:\xampp\htdocs\piratefiles\search.php в строке 15
Вот мой код
$category = htmlentities($_GET['c']);
$query = htmlentities($_GET['q']);
$page = (isset($_GET['page'])) ? $_GET['page'] : 1;
$limit = 20;
$limit_start = ($page - 1) * $limit;
$query = $db->prepare ("SELECT * FROM `posting` WHERE 'category' = :category AND 'file_name' like :query ORDER BY date DESC LIMIT ".$limit_start.",".$limit);
$query->bindParam(":category", $category);
$query->bindParam(":query", $query);
$query->execute();
2
Author: Magnus Eriksson, 2017-12-31
2 answers
$query
был введен пользователем, затем вы назначили его в качестве PDOStatement, а затем передали его обратно в bindParam
Измените имя var.
$category = htmlentities($_GET['c']);
$query = htmlentities($_GET['q']);
$page = (isset($_GET['page'])) ? $_GET['page'] : 1;
$limit = 20;
$limit_start = ($page - 1) * $limit;
$stmt = $db->prepare ("SELECT * FROM `posting` WHERE 'category' = :category AND 'file_name' like :query ORDER BY date DESC LIMIT ".$limit_start.",".$limit);
$stmt->bindParam(":category", $category);
$stmt->bindParam(":query", $query);
$stmt->execute();
4
Author: Lawrence Cherone, 2017-12-31 02:21:02
Так как я использую LIKE
, поэтому нужно создать другую переменную.
$keyword1 = "%".$category."%";
$keyword2 = "%".$query1."%";
Вот полный код.
$category = htmlentities($_GET['c']);
$query1 = htmlentities($_GET['q']);
$page = (isset($_GET['page'])) ? $_GET['page'] : 1;
$limit = 20;
$limit_start = ($page - 1) * $limit;
$query = $db->prepare ("SELECT * FROM `posting` WHERE category LIKE :category AND file_name LIKE :query1 ORDER BY date DESC LIMIT ".$limit_start.",".$limit);
$keyword1 = "%".$category."%";
$keyword2 = "%".$query1."%";
$query->bindParam(":category", $keyword1);
$query->bindParam(":query1", $keyword2);
$query->execute();
0
Author: jazuly aja, 2017-12-31 02:33:57