Mysql
 sql >> база данни >  >> RDS >> Mysql

извличането на Integer от DB с помощта на Zend Framework връща стойността като низ

Внедрих голяма част от Zend_Db код в Zend Framework.

Както са посочили други, причината Zend_Db връща низове вместо естествени PHP цели числа или плаващи числа е, че разширенията на базата данни на PHP връщат низове. И причината за това е, че може да няма собствен PHP тип, който да представя определен тип база данни.

Например BIGINT на MySQL е 64-битово цяло число със знак. По подразбиране PHP int типът е ограничен до 32-битови стойности, така че ако извлечете данни от базата данни и имплицитно ги преобразувате в int , някои стойности може да бъдат съкратени. Има няколко други подобни случая, за float и дати и др.

Използването на низовото представяне за всички типове данни е най-добрият начин да останете прости и последователни, да бъдете в безопасност при избягване на загуба на данни и да избягвате писането на много специфични за доставчика код за специални случаи, за да направите картографиране на типове данни. Този допълнителен код също би довел до намаляване на производителността.

Така че, ако имате конкретни случаи, в които се нуждаете от резултатите от базата данни да бъдат съпоставени с родни типове данни на PHP, трябва да го внедрите сами в кода на приложението си (например в персонализиран Zend_Db_Table_Row клас).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL 5.0 индекси – уникални срещу неуникални

  2. Създайте временна таблица в израз SELECT без отделна CREATE TABLE

  3. Не мога да изтрия MySQL таблица поради ограничения на външния ключ

  4. Как да стартирам Spring-Boot приложение, без да зависи от базата данни?

  5. Php Формат на времето