php 怎么获得mysql数据库字段枚举

php 怎么获得mysql数据库字段枚举,第1张

Array ( [0] =>1 [1] =>storylok [2] =>lele1989 [3] =>? )

为什么获取到的这个枚举类型是问号呢? 我在mysql控制台看的确是中文字呢。 字符集PHP和mysql都是utf8,怎么获取到这个枚举类型的值。

<?php

header ( "Content-Type:text/htmlcharset=utf-8" )

$host = "localhost"

$user = "root"

$password = ""

@$conn = mysql_connect($host,$user,$password) or die("数据库连接失败,请检查数据库配置!" . mysql_error())

$tableName = "viuoo"

mysql_select_db($tableName,$conn) or die('数据库表选择出错,请检查数据库表名是否正确!')

mysql_query("SET NAMES 'utf-8'")

$dm = "SELECT * FROM user"

$result = mysql_query($dm,$conn)

while($res = mysql_fetch_row($result)){

print_r($res)

}

?>

mysql php utf8 数据库

------解决方案--------------------

mysql_query("SET NAMES 'utf-8'")

改成

mysql_query("SET NAMES 'UTF8'")

1、这个类型可以多种:int, char(n) -- 只要约定好就行,存贮枚举值的代码

2、枚举类型的允许值,可以由DB保证(比如在tradeInfo.tradeType上加约束);也可以只是由程序来控制 -- DB中加上约束会强壮一些,但会牺牲性能;

3、为了软件界面的易读性,通常需要让枚举值可读。每个枚举值对应的文本最好存贮在DB中。这个称为MasterData。可以建一张表存贮

4、如果有对应的主数据表,前面2中的约束,就可以改为Foreign Key

至于JAVA编程,枚举类型的处理,可以使用常量,也可以更优雅地定义一个类。

DATETIME : 混合日期和时间值

TIMESTAMP : 混合日期和时间值,时间戳

TIME :时间值或持续时间

YEAR :年份值

CHAR :定长字符串

VARCHAR: 变长字符串

TINYBLOB : 不超过255个字符的二进制字符串

BLOB :二进制形式的长文本数据

MEDIUMBLOB : 0 - 16777215字节 二进制形式的中等长度文本数据

LONGBLOB : 0 - 4294967295字节 二进制形式的极大文本数据

TINYTEXT : 0 - 255字节 短文本字符串

TEXT :0 - 65535字节 长文本数据文本

MEDIUMTEXT : 0 - 16777215字节 中等长度文本数据

LONGTEXT : 0 - 4294967295字节 极大文本数据

ENUM : 枚举;列可赋予某个枚举成员

SET:集合;列可赋予多个集合成员

BINARY :类似Char的二进制存储,特点是插入定长不足补0

VARBINARY : 类似VarChar的变长二进制存储,特点是定长不补0

BIT :无符号[0,255],有符号[-128,127]

BOOLEAN : 布尔型,功能等同于微整型TINYTINT

GEOMETRY :层次结构的根类

POINT :点。指的是代表坐标空间中单个位置的几何

LINESTRING :具有点之间线性内插特性的Curve

POLYGON:代表多边几何对象的平面Surface

MULTIPOINT :一种由Point元素构成的几何对象集合

MULTILINESTRING : 是一种由 LineString元素构成的MultiCurve几何对象集合

MULTIPOLYGON:是一种由Polygon元素构成的几何对象集合

参考资料:mysql 官方文档(网站)


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

原文地址: http://outofmemory.cn/sjk/10037768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存