sql >> Database >  >> RDS >> Mysql

PDO SQLSRV en PDO MySQL retourneren strings bij het ophalen van int of float

Met PDO MySQL de onderliggende C API geeft een structuur van tekenreeksen bij het aanroepen van mysql_fetch_row() . Aangezien PHP een losjes getypte taal is die indien nodig automatisch naar integer cast, vermoed ik dat de PDO-ontwikkelaars ervoor hebben gekozen om ze terug te sturen zoals ze zijn. Dit zou sneller zijn dan elk kolomtype opzoeken en dynamisch casten naar een geheel getal / float.

Specifiek met betrekking tot float, kan een native PHP float anders zijn dan de oorspronkelijke opgeslagen waarde wanneer deze wordt geconverteerd vanuit een string. MySQL-kolommen ondersteunen bijvoorbeeld een precisie, terwijl PHP-floats dat niet doen. Door floats als een tekenreeks uit de database te laten, heeft u meer controle (bijv. door ervoor te kiezen om een bibliotheek te gebruiken met verschillende precisie).



  1. PHP MySQL voeg multimensionale associatieve array-bouwquery in vanuit arraysleutels

  2. Dynamische 'LIKE'-instructie in SQL (Oracle)

  3. Dubbele rijen verwijderen op basis van veld in een selectiequery met PostgreSQL?

  4. Een tabel hernoemen in SQL