回答

收藏

用PHP变量创建mysql表

技术问答 技术问答 256 人阅读 | 0 人回复 | 2023-09-14

我在用PHP变量创建SQL表时遇到了麻烦。
) b: o+ b: C$ X假设$ tbl_date =“ data”;# s( @' b7 j" j6 v8 g
mysql_query('CREATE TABLE '.$tbl_date.'9 D8 ]" |; ?$ |6 }) {4 U
(
5 ~  Q$ }7 w8 w+ {4 HTest varchar(15),
4 v0 {( `3 f; gYes varchar(15),
- o) K4 W0 y. d. ^6 _" B# CVery int; _. Y. b- i1 o
)');; y9 D/ c+ m- K
它不会创建表。
" y5 G- n5 b. z2 n3 d* J7 g               
( C# I; _3 U0 C$ R解决方案:
( h- b( ~8 k* Q; p8 [" z/ D- B                ) C8 j, Q2 Z+ n$ M

3 W( c: \" n; e0 q9 {2 ^! b  d
5 Q; ]. F2 m& \$ W" N, j                您的表名不在引号中,因此似乎无法正常工作。试试这个:0 `: a( T% P) G: @1 T7 k
mysql_query('CREATE TABLE `'.$tbl_date.'`
  ?7 |0 j) F9 _" C( h- k(( W$ Y4 C9 j" }. L: F' d5 V
`Test` varchar(15),6 k+ s( |* Q; e
`Yes` varchar(15),* C( Y+ g; d0 v" x* O. N8 d
`Very` int# j& v  P  B1 \0 X6 ?- s: W+ j1 k% n
)');
0 P: m2 C1 K$ u6 u3 P/ d字段名称也是如此。
9 E" D: F' Y: o也可以尝试一下,这样人类更容易阅读:
- t+ p4 F# M1 b- z! t7 omysql_query("CREATE TABLE `{$tbl_date}`
# Q( {/ W( L" a2 u2 _$ h: P5 m(
" Z. \* \# [3 N9 b`Test` varchar(15),
. m1 j; q( \  `/ U$ Z`Yes` varchar(15),7 m; ^- m% K& G; h+ `$ x$ Y
`Very` int
+ [; b' q% p) B% A) s9 F; C)");, j; V* E  e, q' w% m& ~
请注意不同类型的引号:
7 P; F' p' v9 [3 B' k" o-在PHP中用于构建某些字符串(例如SQL查询)的单引号和双引号4 ]: z, l  z. T0 V: J" r
-专门用作表名和列名的SQL查询一部分的反引号
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则