一路探索者

导航

 

mysqli的预定义常量有什么作用,可能大家比较抽象,下面以一个简单的例子来说明。

该示例从数据库表accounts提取数据,根据不同的字段类型,调用不同的函数进行转换。如,整数类型就调用intval( )函数;小数类型就调用floatval( )函数;时间类型就调用DateTime( )函数。

该示例用到的mysqli的预定义常量如下:

MYSQLI_TYPE_TINY

MYSQLI_TYPE_SHORT

MYSQLI_TYPE_LONG

MYSQLI_TYPE_LONGLONG

MYSQLI_TYPE_INT24

 

MYSQLI_TYPE_FLOAT

MYSQLI_TYPE_DOUBLE

 

MYSQLI_TYPE_TIMESTAMP

MYSQLI_TYPE_DATE

MYSQLI_TYPE_DATETIME

参考如下示例:

$result = $mysqli->query('SELECT * FROM `accounts`');

$fields = $result->fetch_fields();

 

while ( $row = $result->fetch_row() )

{

foreach ( $row as $key => &$value )

{

switch ( $fields[$key]->type )

{

// Convert INT to an integer.

case MYSQLI_TYPE_TINY:

case MYSQLI_TYPE_SHORT:

case MYSQLI_TYPE_LONG:

case MYSQLI_TYPE_LONGLONG:

case MYSQLI_TYPE_INT24:

$value = intval($value);

break;

 

// Convert FLOAT to a float.

case MYSQLI_TYPE_FLOAT:

case MYSQLI_TYPE_DOUBLE:

$value = floatval($value);

break;

 

// Convert TIMESTAMP to a DateTime object.

case MYSQLI_TYPE_TIMESTAMP:

case MYSQLI_TYPE_DATE:

case MYSQLI_TYPE_DATETIME:

$value = new DateTime($value);

break;

 

}

}

var_dump($row);

}

posted on 2025-03-26 10:25  一路探索者  阅读(8)  评论(0)    收藏  举报