Warum funktioniert diese MySQLi Abfrage nicht?

... komplette Frage anzeigen

5 Antworten

Der Error sagt eigentlich alles aus: $result ist ein boolean. Wenn du dir die Dokumentation ansiehst stellst du fest, dass $result false ist, weil ein Fehler aufgetreten ist. Was an deinem Code also optimiert werden sollte, ist folgendes:

  • einfach $mysqli->query schreiben
  • Verbindungsaufbau und Rückgabewerte prüfen sowie darauf reagieren
  • Prepared Statements nutzen, um SQL-Injection zu vermeiden
  • Einfache Anführungszeichen nutzen, wenn du schon konkatenierst

Schau dir bei Unklarheiten am besten dieses Tutorial an:

http://www.peterkropff.de/site/php/mysqli.htm

Antwort bewerten Vielen Dank für Deine Bewertung

Du testest nicht die Rückgabewerte -> schlecht.

Was hältst Du von
$result = $mysqli->query($sql);

anstelle von

$result = $this->mysqli->query($sql); ?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von MinecrafterPG
08.08.2017, 19:36

Gar nichts, weil es $mysqli nicht gibt -.-

0

Wenn ich davon ausgehe, dass zwischen den beiden Gänsefüßchen die SQL-Anweisung steht, so ist mir nicht klar, was diese komischen Apostrofe bedeuten. Und selbst wenn sie korrekt wären, wieso hat server_ nur vorne diesen Apostrof.

Ich selbst benutze kein MySQL, sondern eine DB2.

Antwort bewerten Vielen Dank für Deine Bewertung

Weil das Ergebnis Deiner Anfrage kein Array zurück liefert...

Überprüfe als erstes, ob das Ergebnis gültig ist...

Antwort bewerten Vielen Dank für Deine Bewertung

versuchs mal damit:

if(mysqli_num_rows($result)==1){
 $row = mysqli_fetch_assoc($result);
}

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?