3

「正しい」データ型で mysql テーブルからデータを取得する簡単な方法があるかどうか知りたいですか? つまり、フィールド タイプが INT や SMALLINT の場合、それらのタイプを直接 PHP に整数として渡すことは可能ですか?

私はいくつかの検索を行い、mysqli_fetch_fields を見つけましたが、SMALLIT タイプは 2、INT は 3 などです。そのように行うこともできますが、かなり不器用な回避策に見えます。もっと良い方法はありますか?

私はPHPとmysqliを使用しています。

ありがとうございました。

4

3 に答える 3

2

最も簡単な方法は、それを行う mysqli 呼び出しの上に独自のデータベース ハンドラーを構築することです。

于 2010-06-10T02:45:08.050 に答える
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();
?>
于 2011-02-16T00:57:26.667 に答える