by Guest » 03 Jan 2025, 18:08
Wenn ich ein einfaches MySQL/PHP-Update mit dem folgenden Code habe, der ein Feld (Kommentar) mit freier Texteingabe enthält, möchte ich Apostrophe richtig verarbeiten, aber das funktioniert nicht...
Code: Select all
$comment=$_POST['comment'];
$playerid=$_POST['comment-playerid'];
$stmt = $pdo->prepare("UPDATE table SET comment=:comment WHERE playerid=:playerid");
$stmt->execute([':comment' => $comment, ':playerid' => $playerid]);
Wenn ich das mache und im Kommentarfeld steht „Er ist ein neuer Spieler“, dann wird nur „Er“ eingegeben.
Ich habe es versucht :
Code: Select all
$comment=mysql_real_escape_string($_POST['comment']);
Aber das schlägt fehl, und ich glaube, das liegt daran, dass es jetzt veraltet ist.
Was mache ich falsch? Aus Googeln geht hervor, dass bei Verwendung von PDO nichts weiter getan werden muss, um die Eingabe zu „bereinigen“, aber auch hier geht es nicht richtig in die Datenbank ein (es bricht beim ersten Apostroph ab, auf das es trifft).
Wenn ich ein einfaches MySQL/PHP-Update mit dem folgenden Code habe, der ein Feld (Kommentar) mit freier Texteingabe enthält, möchte ich Apostrophe richtig verarbeiten, aber das funktioniert nicht...
[code]$comment=$_POST['comment'];
$playerid=$_POST['comment-playerid'];
$stmt = $pdo->prepare("UPDATE table SET comment=:comment WHERE playerid=:playerid");
$stmt->execute([':comment' => $comment, ':playerid' => $playerid]);
[/code]
Wenn ich das mache und im Kommentarfeld steht „Er ist ein neuer Spieler“, dann wird nur „Er“ eingegeben.
Ich habe es versucht :
[code] $comment=mysql_real_escape_string($_POST['comment']);
[/code]
Aber das schlägt fehl, und ich glaube, das liegt daran, dass es jetzt veraltet ist.
Was mache ich falsch? Aus Googeln geht hervor, dass bei Verwendung von PDO nichts weiter getan werden muss, um die Eingabe zu „bereinigen“, aber auch hier geht es nicht richtig in die Datenbank ein (es bricht beim ersten Apostroph ab, auf das es trifft).