Filtro com PHP PDO e MYSQL
Viva pessoal,
Estou com um problema na execução de um filtro aos dados vindos da base de dados, sera que alguém me pode ajudar, os dados estão vindo para a pagina através do método $_POST,
que são seleccionados através do carregamento de uma dropbox chamada 'select-segment', desta forma se o utilizador apertar o botão 'action' ele executa o filtro caso não aperte ele executa a seleção sem filtros, será que alguém me pode ajudar...
O erro devolvido é o seguinte:
Fatal error:: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /Applications/MAMP/htdocs/cargeWebsite/carList.php:46
Stack trace:
#0 /Applications/MAMP/htdocs/cargeWebsite/carList.php(46): PDOStatement->execute()
#1 /Applications/MAMP/htdocs/cargeWebsite/index.php(155): include('/Applications/M...')
#2 {main}
thrown in
$query .='SELECT * FROM tbl_vehicle AS v
INNER JOIN tbl_brands AS b ON v.brand_id = b.id_brand
INNER JOIN tbl_images AS i ON v.id_vehicle = i.vehicle_id
INNER JOIN tbl_fuel AS f ON v.fuel_id = f.id_fuel
WHERE v.active = :active';
if(isset($_POST['action'])){
if(isset($_POST['select-segment']) && $_POST['select-segment']!=''){
$segment_filter = $_POST['select-segment'];
$query.= 'AND segment_id IN ("'.$segment_filter.'")';
}
$query .='ORDER BY v.last_inser ASC';
}else{
$query .='ORDER BY v.last_inser ASC';
}
if($_POST['lenght'] = -1){
$query_1 = 'LIMIT :inicio, :limite';
}
$dbh = createPDO();
$statement = $dbh->prepare($query);
$statement->bindValue(':active',$intermedio);
$statement->execute();
$number_filter_row = $statement->rowCount();
$statement = $dbh->prepare($query . $query_1);
$statement->bindValue(':inicio',(int)$init, PDO::PARAM_INT);
$statement->bindValue(':limite',(int)$limite, PDO::PARAM_INT);
$statement->execute();
foreach ($result as $row){
}Discussão (1)
Carregando comentários...