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

pobranie liczby całkowitej z bazy danych przy użyciu Zend Framework zwraca wartość jako ciąg

Zaimplementowałem wiele Zend_Db kod w Zend Framework.

Jak powiedzieli inni, powód, dla którego Zend_Db zwraca łańcuchy zamiast natywnych liczb całkowitych lub zmiennoprzecinkowych PHP jest to, że rozszerzenia bazy danych PHP zwracają łańcuchy. Powodem tego jest to, że może nie istnieć natywny typ PHP reprezentujący określony typ bazy danych.

Na przykład BIGINT MySQL jest 64-bitową liczbą całkowitą ze znakiem. Domyślnie PHP int typ jest ograniczony do wartości 32-bitowych, więc jeśli pobierasz dane z bazy danych i niejawnie konwertujesz je na int , niektóre wartości mogą zostać obcięte. Istnieje kilka innych podobnych przypadków dla float i daty itp.

Używanie reprezentacji w postaci ciągu dla wszystkich typów danych to najlepszy sposób na zachowanie prostoty i spójności, bezpieczeństwo w zakresie unikania utraty danych i unikanie pisania wielu kodów specjalnych dla dostawcy w celu mapowania typów danych. Ten dodatkowy kod również wiązałby się z obniżeniem wydajności.

Więc jeśli masz konkretne przypadki, w których potrzebujesz mapować wyniki bazy danych do natywnych typów danych PHP, powinieneś zaimplementować to samodzielnie w kodzie aplikacji (np. w niestandardowym Zend_Db_Table_Row klasa).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównanie MYSQL przy problemie z połączeniem

  2. Wypełnij menu rozwijane HTML/PHP na podstawie pierwszego wyboru z listy rozwijanej

  3. Wysyłanie obrazu do bazy danych MySQL za pomocą Androida

  4. BŁĄD 1044 (42000):Odmowa dostępu dla „root” ze wszystkimi uprawnieniami

  5. Zapytanie SQL w FB JavaScript