mysqli中的位标志使用fetch_field_direct是什么意思

mysqli中的位标志使用fetch_field_direct是什么意思,第1张

mysqli中的位标志使用fetch_field_direct是什么意思

参见http://www.php.net/manual/en/mysqli-result.fetch-
fields.php#101828的
评论

NOT_NULL_FLAG = 1PRI_KEY_FLAG = 2UNIQUE_KEY_FLAG = 4   MULTIPLE_KEY_FLAG = 8BLOB_FLAG = 16UNSIGNED_FLAG = 32ZEROFILL_FLAG = 64         BINARY_FLAG = 128      ENUM_FLAG = 256AUTO_INCREMENT_FLAG = 512TIMESTAMP_FLAG = 1024SET_FLAG = 2048PART_KEY_FLAG = 16384GROUP_FLAG = 32768NUM_FLAG = 32768UNIQUE_FLAG = 65536

请注意,上面发布的每个数字都是2的幂。(1 = 2 ^ 0、2 = 2 ^ 1、4 = 2 ^
2,依此类推)。换句话说,它们中的每一个对应于一个数字中的一位。要了解

49967
含义,可以例如以二进制形式显示

>> decbin(49967);'1100001100101111'

从右开始,您现在可以看到该字段具有以下标志

NOT_NULL PRI_KEY  UNIQUE_KEYMULTIPLE_KEYUNSIGNEDENUMAUTO_INCREMENTGROUPUNIQUE

用于检查特定标志的其他方法是使用 nickb* 在下面的注释中

&
提供的二进制合取运算符和mysqli常量: *

>> echo MYSQLI_NOT_NULL_FLAG & 499671>> echo MYSQLI_PRI_KEY_FLAG & 499672>> echo MYSQLI_UNIQUE_KEY_FLAG & 499674>> echo MYSQLI_MULTIPLE_KEY_FLAG & 499678>> echo MYSQLI_BLOB_FLAG & 499670

基本上,您对设置的标志使用非零值,对于未设置的标志则使用0。您可以在以下情况下安全使用它:

if($fieldFlags & MYSQLI_PRI_KEY_FLAG) {  echo 'this field is a primary key';}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5144885.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存