gpt4 book ai didi

php - 在 MySQLi 中查找实际数据类型

转载 作者:行者123 更新时间:2023-12-02 11:11:56 25 4
gpt4 key购买 nike

我正在尝试找出:

  1. 数据类型
  2. 长度

PHP 中表中的列。我注意到我可以从 INFORMATION_SCHEMA 以及我自己的表中执行此操作:

$query = $link->query("SELECT * FROM `events` LIMIT 1");
$row = mysqli_fetch_fields($query);
foreach($row as $field){
print_r($field);
}

响应肯定是一个数组。我几乎发现了类似的一切:

( 
[name] => id
[orgname] => id
[table] => events
[orgtable] => events
[def] =>
[db] => myliveca_baikalpik
[catalog] => def
[max_length] => 1
[length] => 11
[charsetnr] => 63
[flags] => 49667
[type] => 3
[decimals] => 0
)

到目前为止,我已经知道了数据的长度,但数据类型似乎仍然以数字形式编码(或其他形式),如下所示:

  • 3 表示整数
  • 时间为 11
  • 文本为 252

我如何回溯这个?

最佳答案

您可能正在寻找predefined mysqli constants :

["MYSQLI_TYPE_DECIMAL"]=>
int(0)
["MYSQLI_TYPE_TINY"]=>
int(1)
["MYSQLI_TYPE_SHORT"]=>
int(2)
["MYSQLI_TYPE_LONG"]=>
int(3)
["MYSQLI_TYPE_FLOAT"]=>
int(4)
["MYSQLI_TYPE_DOUBLE"]=>
int(5)
["MYSQLI_TYPE_NULL"]=>
int(6)
["MYSQLI_TYPE_TIMESTAMP"]=>
int(7)
["MYSQLI_TYPE_LONGLONG"]=>
int(8)
["MYSQLI_TYPE_INT24"]=>
int(9)
["MYSQLI_TYPE_DATE"]=>
int(10)
["MYSQLI_TYPE_TIME"]=>
int(11)
["MYSQLI_TYPE_DATETIME"]=>
int(12)
["MYSQLI_TYPE_YEAR"]=>
int(13)
["MYSQLI_TYPE_NEWDATE"]=>
int(14)
["MYSQLI_TYPE_ENUM"]=>
int(247)
["MYSQLI_TYPE_SET"]=>
int(248)
["MYSQLI_TYPE_TINY_BLOB"]=>
int(249)
["MYSQLI_TYPE_MEDIUM_BLOB"]=>
int(250)
["MYSQLI_TYPE_LONG_BLOB"]=>
int(251)
["MYSQLI_TYPE_BLOB"]=>
int(252)
["MYSQLI_TYPE_VAR_STRING"]=>
int(253)
["MYSQLI_TYPE_STRING"]=>
int(254)
["MYSQLI_TYPE_CHAR"]=>
int(1)

您可以通过以下方式查找所有预定义常量的值:

<?php

echo "<pre>";
var_dump(get_defined_constants());
echo "</pre>";
?>

关于php - 在 MySQLi 中查找实际数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28640428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com