MySQL pdo prepare execute ->update

king-ich

Mitglied
Hallo.
Ich habe folgenden Code:
SQL:
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$address_street = $_POST['option_selection1'];
$name = $_POST["option_selection2"];
$zip = $_POST["option_selection3"];
$city = $_POST["option_selection4"];
$bezahlt = 'true';
$invoice = $_POST['invoice'];

$sql = "UPDATE warenkorb SET vorname = ?, nachname = ?, strasse = ?,
name = ?, plz = ?, ort = ?, bezahlt = ? WHERE id = '{$invoice}'";
$statement = $pdo->prepare($sql);
$statement->execute(array($first_name, $last_name, $address_street,
                          $name, $zip, $city, $bezahlt));

Die $_POST Variablen kommen von PayPal.

Ich bekomme eine Fehlermeldung wenn Ich in einem PayPal vorangehenden Formular in das Strasse Input ($_POST['option_selection1']) meine mit - geschriebene Strasse eintrage: [14-May-2019 15:10:38 UTC] PHP Fatal error: Uncaught PDOException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xDFe 60' for column `domain_de`.`warenkorb`.`strasse` at row 1 in /customers/b/3/2/domain.de/httpd.www/action.php:20 Stack trace: #0 /customers/b/3/2/domain.de/httpd.www/action.php(20): PDOStatement->execute(Array) #1 {main} thrown in /customers/b/3/2/domain.de/httpd.www/action.php on line 20

Wenn ich allerdings einen Strassenname ohne Sonderzeichen eingebe, funktioniert der Eintrag in die Datenbank.

Kann jemand helfen?
 
Zuletzt bearbeitet:
Aber die Strasse hat auch zwei - im String (Max-Mustermann-Straße).
Der Ort funktioniert, die Strasse nicht...
 
Es geht nicht um dein Script, es geht um die PayPal-Seite.
Lies dir mal den Link oben durch.
So if you want to make sure what the charset really is, do so inside of your IPN-handling script by checking the value of charset in the POST message.
 
Lösung
Zurück