Yadgar: PHP: Hochkomma für MySQL/MariaDB maskieren?

Beitrag lesen

Hallo,

du lässt uns nicht wissen, wie dein SQL-Query genau aussieht, und wo oder wie du mysqli_real_escape_string() anwendest. So kann man nur im Nebel stochen. Und ich sehe ganz diffus im Nebel, dass du mysqli_real_escape_string() auf den gesamten Query-String anwendest, anstatt nur auf die darin enthaltenen Daten-Strings.

Das ist aber wirklich nur eine diffuse Vermutung, denn bei richtiger Verwendung von mysqli_real_escape_string() sollte gerade so etwas, was du beschreibst, nicht passieren.

Der Code:

  $stichwort = $_POST["stichwort"];
  $stichwort = mysqli_real_escape_string($db, $stichwort);
  $kategorie = $_POST["kategorie"];
  $kategorie = mysqli_real_escape_string($db, $kategorie);
  
  $sql1 = "SELECT nr, stichwort FROM STICHWOERTER WHERE stichwort = '".$_POST['stichwort']."'";

Mir wurde dabei natürlich klar, dass mysqli_real_escape_string() nur funktionieren kann, wenn ich statt $_POST['stichwort'] $stichwort verwende... und damit handelte ich mir gleich den nächsten Error ein:

Fehler: Incorrect integer value: '' for column tagebuch_stichwoerter.STICHWORT_KATEGORIE.stichwoerter_nr at row 1

Ich glaube, ab einem bestimmten Alter sollte man das Programmieren bleiben lassen...

Bis bald,

Yadgar