如何使用php在MySQL在数据库中获得枚举的可能值?
技术问答
266 人阅读
|
0 人回复
|
2023-09-13
|
我正在设立专栏Mysql:: p4 d+ H$ |. W2 ~) }; X! m4 h! [
类型: ENUM
& ]- E' L# A% f4 r% \& U8 l) SLength/Values:01,02,03,04,05,06,07,08,094 Q z2 r+ u, Y7 x0 M- F4 V1 p
我试图从数据库中检索这些值:" r0 E& ^3 D- R) C F% U
我发现了另一个帖子,但也有同样的问题,但我的代码不能正常工作! W4 F* m: C% P* Y* D0 h$ ^
$type = $mysqli->query( "SHOW COLUMNS FROM {$tableName} WHERE Field = 'type'" )->fetch_object()->Type; preg_match('/^enum\((.*)\)$/',$type,$matches); foreach( explode(',',$matches[1]) as $value $enum[] = trim( $value,"'" );;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;return $enum;我输入的类型Text为ENUM
9 K% k0 q- B; d1 r% q6 O- Z* g' y
/ i, |5 A+ U3 b 解决方案: 2 k, o7 P4 Z0 e9 E9 v6 N' B# w! B* t
您应该从中分析信息information_schema。columns桌子 -7 l# _( a( j. r8 V% k
SELECT column_typeFROM information_schema.columnsWHERE table_schema = 'your_schema' AND table_name = 'your_table' AND column_name = 'your_column'…另一个查询-
# y; N& }6 a6 G2 i+ aSELECT TRIM(TRAILING ')' FROM TRIM(LEADING '(' FROM TRIM(LEADING 'enum' FROM column_type))) column_typeFROM information_schema.columnsWHERE table_schema = 'your_schema' AND table_name = 'your_table' AND column_name = 'your_column';会有这样的事- enum01,02,03。php分析应用程序中的字符串。 |
|
|
|
|
|