Ich habe eine Suchfunktion auf einer Website, die ich versuche, alle Künstler in einer Datenbank nach dem ersten Buchstaben zurückzugeben. Hier ist der Code, den ich habe:sql Auswählen nach dem ersten Buchstaben funktioniert nicht
$connect = mysqli_connect($host_name, $user_name, $password, $database);
$arr = array();
$keywords = $connect->real_escape_string($_POST["keywords"]);
$sql = "SELECT * FROM `karaoke` WHERE `artist` LIKE '" . $keywords . "%'";
$result = $connect->query($sql) or die($mysqli->error);
if ($result->num_rows > 0) {
while ($obj = $result->fetch_object()) {
$arr[] = array("artist" => $obj->artist, "song" => $obj->song);
}
}
echo json_encode($arr);
Diese Suche funktioniert gut, wenn das Schlüsselwort 2 oder mehr Buchstaben, aber wenn ich versuche, und nur um einen Buchstaben suchen, bekomme ich kein Ergebnis. Ich habe versucht, mich in die phpMyAdmin-Konsole einzuloggen und die Suche dort zu machen, und es funktioniert gut. Irgendwelche Ideen, warum es die Ergebnisse nicht zu meiner Suche-alpha.php zurückbringen würde?
Fügen Sie diese Zeile 'var_dump ($ sql)' vor dem Ergebnis hinzu und veröffentlichen Sie die Ausgabe! – Hackerman
kannst du '$ sql' aussprechen, um sicherzugehen, dass es korrekt formatiert ist – Derek
Ich habe versucht, $ sql auszugeben, habe es kopiert und es in phpMyAdmin ausgeführt und es hat perfekt funktioniert. –