2010-06-10 6 views
3

Je voudrais savoir s'il existe un moyen simple d'extraire des données à partir de tables mysql avec des types de données "corrects"? Ce que je veux dire, si le type de champ est par exemple INT ou SMALLINT est-il possible de passer ces types directement à PHP comme entiers? J'ai fait quelques recherches et trouvé mysqli_fetch_fields, mais pour le type SMALLIT est 2, pour INT 3 et ainsi de suite. Cela pourrait être fait de cette façon, mais il semble plutôt difficile à contourner. Y a-t-il une meilleure façon? J'utilise PHP et mysqli.mysqli et types de champs

Merci.

+0

Où avez-vous trouvé une liste de quels types étaient quelles valeurs? – PeterJCLaw

Répondre

2

La méthode la plus directe consiste à créer votre propre gestionnaire de base de données en plus des appels mysqli qui le font pour vous.

1

http://www.php.net/manual/en/mysqli-result.fetch-field-direct.php

<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5"; 

if ($result = $mysqli->query($query)) { 

    /* Get field information for column 'SurfaceArea' */ 
    $finfo = $result->fetch_field_direct(1); 

    printf("Name:  %s\n", $finfo->name); 
    printf("Table: %s\n", $finfo->table); 
    printf("max. Len: %d\n", $finfo->max_length); 
    printf("Flags: %d\n", $finfo->flags); 
    printf("Type:  %d\n", $finfo->type); 

    $result->close(); 
} 

/* close connection */ 
$mysqli->close(); 
?> 
Questions connexes