mysqli是可以获取数据库中的数据类型的,但是默认并没有开启。需要设置option参数 MYSQLI_OPT_INT_AND_FLOAT_NATIVE
function __construct($database, $username, $password, $hostname='localhost', $port=3306, $persistant = false){
$this->database = $database;
$this->username = $username;
$this->password = $password;
$this->hostname = $hostname.':'.$port;
$this->Connect($persistant);
mysqli_query($this->databaseLink,"SET NAMES UTF8");
mysqli_options($this->databaseLink,MYSQLI_OPT_INT_AND_FLOAT_NATIVE,true);
}
当然pdo也是可以的
$pdo = new PDO('mysql:host=127.0.0.1;dbname=test', 'root', '');
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
foreach ($pdo->query('select * from test_int') as $row) {
var_dump($row);
}