sql >> Database >  >> RDS >> Mysql

Mysql_fetch_assoc automatisch retourgegevenstypen laten detecteren?

Ik denk dat een goede strategie hier is om het datatype van elke kolom in een tabel programmatisch te bepalen en de geretourneerde resultaten dienovereenkomstig te casten. Hierdoor kunt u op een meer consistente en eenvoudige manier met uw database communiceren, terwijl u toch de controle heeft die u nodig hebt om uw variabelen het juiste gegevenstype te laten opslaan.

Eén mogelijke oplossing: Je zou mysql_fetch_field() kunnen gebruiken om een ​​object te krijgen dat metagegevens over de tabelkolom bevat en vervolgens je string terug te casten naar het gewenste type.

//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

Een volledig voorbeeld is hier te vinden:http://us2 .php.net/manual/en/function.mysql-fetch-field.php

Aangezien PHP losjes is getypt, zou je hier relatief gemakkelijk mee moeten omgaan.

Als u OO-technieken (objectgeoriënteerde) gebruikt, kunt u een klasse maken met deze functionaliteit in de setter()-methoden, zodat u geen dubbele code hoeft te gebruiken.



  1. Lees e-mail immap php

  2. SQL Oracle LEFT JOIN en SUBQUERY-fout:ORA-00905:ontbrekend trefwoord

  3. Hoe RPC Out in te schakelen met T-SQL

  4. Databaseschema voor ACL