Frage

Ich würde gerne wissen, ob es eine einfache Möglichkeit, Daten aus MySQL-Tabellen mit „richtigen“ Datentypen zu holen? Was ich meine, wenn Feldtyp ist beispielsweise INT oder SMALLINT ist es möglich, diese Typen direkt zu PHP als ganzen Zahlen zu übergeben?

habe ich ein paar Suche und fand mysqli_fetch_fields, aber für SMALLIT Typ 2, für INT 3 und so weiter. Es könnte so gemacht werden, aber es sieht ziemlich ungeschickt Abhilfe. Gibt es einen besseren Weg?

Ich bin mit PHP und mysqli.

Danke.

War es hilfreich?

Lösung

Der einfachste Weg ist, Ihre eigene Datenbank-Handler auf der mysqli Anrufe aufzubauen, die für Sie tut das.

Andere Tipps

http://www.php.net/ manual / en / mysqli-result.fetch-Feld-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();
?>

Sie können diesen Code verwenden

SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE table_name = 'yourtablename replace your table name' AND COLUMN_NAME = 'tablecolumnname replace your table column name';


Verwenden Sie dies, bevor Sie Ihre Haupt-Abfrage ausführen und nach, wenn Sie sich Ihre Datentyp führen Sie dann Ihren Betrieb.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top