sql >> Database >  >> RDS >> Mysql

Een tekenreeks converteren naar een mySql DECIMAL-type

Je moet nooit zomaar "de exacte inhoud van $_POST['...'] invoeren " in elk databaseveld:het is een deur die wordt geopend voor SQL-injecties.

In plaats daarvan moet u ervoor zorgen dat de gegevens die u in uw SQL-query's injecteert, echt geldig zijn, volgens de verwachte DB-gegevenstypen.


Voor decimalen zou een oplossing, aan de PHP-kant, zijn om de floatval te gebruiken functie :

$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
}

Merk op dat ik geen aanhalingstekens om de waarde heb gezet;-)




  1. Hoe de LIKE-operator van SQLite hoofdlettergevoelig te maken?

  2. Hoe een slaapstand-sjabloonquery te schrijven vanuit de sql-query?

  3. Selecteer zoekopdracht | Selecteer gehelen die niet beginnen met een nummer - MySQL

  4. SQL Server-isolatieniveaus:een serie