sql >> Databáze >  >> RDS >> Mysql

Získat výsledky dotazů MySQL jako jejich nativní datový typ?

Nemyslím si, že získávání dat v jejich nativních datových typech (tj. cokoli jiného, ​​co obsahuje řetězce) lze provést v PHP 5.2...

V PHP 5.3 je to možné, pokud si dobře pamatuji, když používáte nové (nové jako v PHP>=5.3) mysqlnd (Nativní ovladač MySQL) řidič.

Po dalším procházení mých záložek jsem našel tento článek o mysqlnd:PDO_MYSQLND: The new features of PDO_MYSQL in PHP 5.3

Je tam napsáno toto (citace):

Ale toto je pouze PHP 5.3 (za předpokladu, že vaše verze PHP 5.3 je zkompilována s mysqlnd (a ne starý libmysql) ), a zdá se, že je to pouze případ připravených příkazů :-(

Což ve vaší situaci asi moc nepomůže...


A tady je další, stále o nových funkcích mysqlnd, který o tom mluví nejen pro připravená prohlášení:PHP:Nový síťový provoz, úspora CPU a paměti s mysqlnd .

Nejste si však jisti, že to bylo začleněno do oficiálního ovladače mysqlnd -- nejlepší způsob by bylo vyzkoušet; ale stejně to bude PHP>=pouze 5.3...


Dalším řešením by bylo mít na straně PHP nějaký druh mapovacího systému (jako ORM) převést výsledky přicházející z DB do datových typů PHP...

A ano, to je špatné, pokud chcete používat operátory jako === a !== , které jsou typově citlivé...



  1. Nejbližší zápas, část 3

  2. Změňte kódování databáze PostgreSql

  3. Jak získat numerickou část z řetězce pomocí T-SQL?

  4. MySQL:Kód chyby:1242 Poddotaz vrací více než 1 řádek