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

时间:2016-02-26 07:51:21

标签: php mysql

您好我正在尝试在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".

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

1 个答案:

答案 0 :(得分:1)

你可以这样结束:

`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中使用。