Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Konwersja ciągu na typ mySql DECIMAL

Nigdy nie powinieneś po prostu "wpisywać dokładnej zawartości $_POST['...'] " w dowolne pole bazy danych :to drzwi otwarte dla wstrzyknięć SQL.

Zamiast tego musisz upewnić się, że dane, które wstrzykujesz do zapytań SQL, są rzeczywiście prawidłowe, zgodnie z oczekiwanymi typami danych DB.


W przypadku ułamków dziesiętnych rozwiązaniem po stronie PHP byłoby użycie floatval funkcja :

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

Zauważ, że nie umieściłem żadnego cudzysłowu wokół wartości;-)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Indeks MySQL na widoku nie działa

  2. Zachowaj podziały wierszy z TextArea podczas pisania w MySQL

  3. Sterownik QMYSQL nie jest załadowany w systemie Windows

  4. Railsy SELECT 40001 SQL_NO_CACHE uruchomione z nieznanego miejsca

  5. Zapytanie SPARQL, aby uzyskać wszystkich rodziców węzła