sql >> Database >  >> RDS >> Mysql

MySQL-queryresultaten krijgen als hun oorspronkelijke gegevenstype?

Ik denk niet dat het verkrijgen van gegevens in hun oorspronkelijke gegevenstypes (d.w.z. iets anders dat strings is) kan worden gedaan in PHP 5.2...

In PHP 5.3 wordt het mogelijk, als ik het me goed herinner, wanneer je de nieuwe (nieuw als in PHP>=5.3) gebruikt mysqlnd (MySQL Native Driver) chauffeur.

Na wat meer door mijn bladwijzers te spitten vond ik dit artikel over mysqlnd:PDO_MYSQLND: The new features of PDO_MYSQL in PHP 5.3

Er staat dit (citaat):

Maar dit is alleen PHP 5.3 (mits uw versie van PHP 5.3 is gecompileerd met mysqlnd (en niet de oude libmysql) ), en lijkt alleen het geval te zijn voor voorbereide verklaringen :-(

Wat niet helemaal helpt, in jouw situatie, denk ik...


En hier is er nog een, nog steeds over de nieuwe functies van mysqlnd, die hierover praat, niet alleen voor voorbereide verklaringen:PHP:Nieuw netwerkverkeer, CPU en geheugenbesparing met mysqlnd .

Ik weet echter niet zeker of dit is samengevoegd met de officiële mysqlnd-driver -- de beste manier is om het te proberen; maar het blijft hoe dan ook PHP>=5.3...


Een andere oplossing zou zijn om aan de PHP-kant een soort mapping-systeem te hebben (zoals een ORM) om resultaten die uit de DB komen om te zetten naar PHP-datatypes...

En ja, dit is slecht als je operators zoals === . wilt gebruiken en !== , die typegevoelig zijn...



  1. ODBC-verbindingskenmerken instellen zonder code te hoeven schrijven

  2. Hoe kan ik drie tabel JOIN's doen in een UPDATE-query?

  3. Een enkele kolom op meerdere rijen tegelijk bijwerken/verhogen

  4. Gegevensbestanden verplaatsen in SQL Server - Deel 1