繁体   English   中英

如何用php变量作为表名创建表?

[英]How to create a table with php variable as table name?

嗨,我正在尝试在Google mysql云中创建一个类似于'$ username'_package的表。 我可以成功创建表,但实际上创建的表名为“ '.aaa@gmail.com.'_pakage但实际上我需要创建一个表名为aaa@gmail.com_package的表。 这是我的查询

mysql_query("CREATE TABLE `db`.`{$email_append}` (`id` int(25) NOT NULL,`packageid` int(25) NOT NULL,`package_name` varchar(35) NOT NULL,`category` varchar(24) NOT NULL,`description` varchar(24) NOT NULL,`sub_description` varchar(25) NOT NULL,`default_price` int(25) NOT NULL,`custom_price` int(25) NOT NULL,`force_amount` int(25) NOT NULL,`percent_discount` int(25) NOT NULL,`package_total` int(25) NOT NULL)");

这些是我所做的尝试,

1.'".$username."'
2.'$username'
3.`$username`
4.I created a php variable "$email_append" and concat it with "_package".

每次尝试都给我相同的结果。 如何解决这个问题。 有人能帮我吗? 提前致谢。

您可以像这样进行连接:

`db`.`{".$email."_append}`

例:

$email = 'test';
echo "CREATE TABLE `db`.`".$email."_append` (`id` int(25) NOT NULL,`packageid` int(25) NOT NULL,`package_name` varchar(35) NOT NULL,`category` varchar(24) NOT NULL,`description` varchar(24) NOT NULL,`sub_description` varchar(25) NOT NULL,`default_price` int(25) NOT NULL,`custom_price` int(25) NOT NULL,`force_amount` int(25) NOT NULL,`percent_discount` int(25) NOT NULL,`package_total` int(25) NOT NULL)";

结果:

CREATE TABLE `db`.`test_append` 
(
`id` INT(25) NOT NULL,
`packageid` INT(25) NOT NULL,
`package_name` VARCHAR(35) NOT NULL,
`category` VARCHAR(24) NOT NULL,
`description` VARCHAR(24) NOT NULL,
`sub_description` VARCHAR(25) NOT NULL,
`default_price` INT(25) NOT NULL,
`custom_price` INT(25) NOT NULL,
`force_amount` INT(25) NOT NULL,
`percent_discount` INT(25) NOT NULL,
`package_total` INT(25) NOT NULL
)

问题:

在您的代码{$email_append}其视为完整变量,不需要将$email_append

边注:

请使用mysqli_*PDO而不是mysql_*已弃用并且在PHP 7中不可用)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM