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

Czy mysql_fetch_assoc automatycznie wykrywa zwracane typy danych?

Myślę, że dobrą strategią jest tutaj programowe określenie typu danych każdej kolumny w tabeli i odpowiednie rzutowanie zwróconych wyników. Umożliwi to interakcję z bazą danych w bardziej spójny i prostszy sposób, jednocześnie zapewniając kontrolę niezbędną do przechowywania przez zmienne właściwego typu danych.

Jedno możliwe rozwiązanie: Możesz użyć mysql_fetch_field(), aby uzyskać obiekt, który przechowuje metadane dotyczące kolumny tabeli, a następnie rzutować swój ciąg z powrotem na żądany typ.

//run query and get field information about the row in the table
$meta = mysql_fetch_field($result, $i);

//get the field type of the current column
$fieldType = $meta->type

Pełny przykład można znaleźć tutaj:http://us2 .php.net/manual/en/function.mysql-fetch-field.php

Ponieważ PHP jest luźno napisane, powinieneś mieć z tym stosunkowo łatwy czas.

Jeśli używasz technik OO (zorientowanych obiektowo), możesz utworzyć klasę z tą funkcjonalnością w metodach setter(), dzięki czemu nie musisz mieć zduplikowanego kodu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python SQL — jak korzystać z baz danych SQLite, MySQL i PostgreSQL w Pythonie

  2. Jak sprawdzić, czy tabela MySQL jest UTF-8 i ma storageEngine InnoDB?

  3. Tabela MySQL nie istnieje błąd, ale istnieje

  4. Twórz bazy danych za pomocą liquibase na pustej instancji mysql

  5. Problem z zapytaniem o zakres daty i godziny w mySQL