Ich weiß nicht, was geht mit meinem Code ... Sie verwenden Mysqli und wenn ich ausführen, zeigt er diesen Fehler, einige Cam helfen mir pls?
$mysqli = new mysqli($db_host, $db_username, $db_password, $db_name);
if ($mysqli->connect_error) {
die("Error : (". $mysqli->connect_errno .") ". $mysqli->connect_error);
}
$results = $mysqli->prepare("SELECT * FROM `imovel` WHERE `finalidade` LIKE $finalidade AND `nquartos` = $nquarto AND `tipoimovel` LIKE $tipoimovel AND `preco` BETWEEN $pmin AND $pmax AND `conselho` LIKE $conselho AND `frequesia` LIKE $frequesia AND `referencia` = $refimovel AND `garagem` = $garagem AND `jardim` = $jardim AND `piscina` = $piscina AND `condominio` = $condominiof AND `elevador` = $elevador AND `vistapreveligiada` = $vistapriv ORDER BY `imovel`.`preco` DESC LIMIT $page_position, $item_per_page");
$results->execute(); //Execute prepared Query
$results->bind_result($id ,$imagem, $frequesia ,$conselho, $preco); //bind variables to prepared statement
Antworten:
1 für die Antwort № 1Dies sollte näher an dem sein, was Sie mit Ihrer vorbereiteten Aussage versuchen. Bei Ihrer aktuellen Ausführung ist die SQL ungültig.
$mysqli = new mysqli($db_host, $db_username, $db_password, $db_name);
if ($mysqli->connect_error) {
die("Error : (". $mysqli->connect_errno .") ". $mysqli->connect_error);
}
$results = $mysqli->prepare("SELECT * FROM `imovel` WHERE `finalidade` LIKE ? AND `nquartos` = ? AND `tipoimovel` LIKE ? AND `preco` BETWEEN ? AND ? AND `conselho` LIKE ? AND `frequesia` LIKE ? AND `referencia` = ? AND `garagem` = ? AND `jardim` = ? AND `piscina` = ? AND `condominio` = ? AND `elevador` = ? AND `vistapreveligiada` = ? ORDER BY `imovel`.`preco` DESC LIMIT ?, ?");
$results->bind_param("sssiisssssssssii", $finalidade, $nquarto, $tipoimovel, $pmin, $pmax, $conselho, $frequesia, $refimovel, $garagem, $jardim, $piscina, $condominiof, $elevador, $vistapriv, $page_position, $item_per_page);
$results->execute(); //Execute prepared Query
$results->bind_result($id ,$imagem, $frequesia ,$conselho, $preco); //bind variables to prepared statement
Zeichenfolgen in SQL müssen in Anführungszeichen gesetzt oder durch Platzhalter ersetzt werden ?
s sind). Bei Platzhaltern ersetzt der Treiber die Werte und behandelt die Quotierung.
Diese Abfrage hat auch einige Anforderungen. Ich hoffe, Sie führen dies in Ihrer Datenbank aus, bevor Sie sie hier verwenden, da es möglicherweise keine Ergebnisse gibt.