我试图找出:
PHP 表中的列。我注意到我可以从INFORMATION_SCHEMA我自己的桌子上做到这一点:
$query = $link->query("SELECT * FROM `events` LIMIT 1");
$row = mysqli_fetch_fields($query);
foreach($row as $field){
print_r($field);
}
Run Code Online (Sandbox Code Playgroud)
响应绝对是一个数组。我几乎发现了一切:
(
[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
)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有length数据,但数据类型似乎仍然被编码(或其他)以数字表示:
我如何回溯这个?
您可能正在寻找预定义的 mysqli 常量:
["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)
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令查找所有预定义常量的值:
<?php
echo "<pre>";
var_dump(get_defined_constants());
echo "</pre>";
?>
Run Code Online (Sandbox Code Playgroud)