mysqli_fetch_field_direct错误的结果

时间:2015-04-11 19:29:18

标签: mariadb

我在MySQL上使用mysqli_fetch_field_direct获取字段长度,使用:

 $tab_field = mysqli_fetch_field_direct($result_fields,$j);
 $long = $tab_field->length;

在PhpMyAdmin下创建varchar(100)之后,我得到了100作为我的varchar长度,这是正确的。

现在,我使用MariaDB并对同一个字段使用相同的mysqli_fetch_field_direct调用,给我300个。我接受这样的事实,根据编码,也许它是"内部尺寸",但我需要知道我可以放的字符数,所以我需要回来" 100"。 我注意到PhpMyAdmin在显示"结构"时返回100。该表,但似乎使用SHOW查询而不是fetch_field_direct。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

让我们看看SHOW CREATE TABLE。我猜这个列是CHAR(100)的?旧版本是CHARACTER SET latin1? MariaDB的一个是CHARACTER SET utf8

通常VARCHAR优于CHAR。 (你找到了一个原因。)

目前,utf8是首选。