Mysql
 sql >> Base de données >  >> RDS >> Mysql

Conversion d'une chaîne en un type mySql DECIMAL

Vous ne devez jamais simplement "saisir le contenu exact de $_POST['...'] " dans n'importe quel champ de la base de données :c'est une porte ouverte aux injections SQL.

Au lieu de cela, vous devez vous assurer que les données que vous injectez dans vos requêtes SQL sont réellement valides, conformément aux types de données DB attendus.


Pour les décimales, une solution, côté PHP, serait d'utiliser le floatval fonction :

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

Notez que je n'ai mis aucun guillemet autour de la valeur;-)