Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Konvertieren einer Zeichenfolge in einen mySql DECIMAL-Typ

Sie sollten niemals einfach "den genauen Inhalt von $_POST['...'] eingeben " in ein beliebiges Datenbankfeld :Es ist eine Tür, die für SQL-Injektionen geöffnet wird.

Stattdessen müssen Sie sicherstellen, dass die Daten, die Sie in Ihre SQL-Abfragen einfügen, gemäß den erwarteten DB-Datentypen tatsächlich gültig sind.


Für Dezimalzahlen wäre eine Lösung auf PHP-Seite die Verwendung von floatval Funktion :

$clean_price = floatval($_POST['price']);
$query = "insert into your_table (price, ...) values ($clean_price, ...)"
if (mysql_query($query)) {
    // success
} else {
    echo mysql_error();   // To help, while testing
}

Beachten Sie, dass ich den Wert nicht in Anführungszeichen gesetzt habe;-)