donglu953744 2016-02-26 07:51
浏览 147
已采纳

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

Hi I am trying to create a table like '$username'_package in google mysql cloud. I could create table successfully but it actually create a table with name like this say '.aaa@gmail.com.'_pakage but I actually need to create a table with name like aaa@gmail.com_package. This my query,

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)");

These are the try that I have made,

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

Every try gave me the same results. How to solve this. Can someone help me? Thanks in advance.

  • 写回答

1条回答 默认 最新

  • dousi5358 2016-02-26 07:56
    关注

    You can concat like that:

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

    Example:

    $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)";
    

    Result:

    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
    )
    

    Issue:

    In your code {$email_append} its treated as a full variable, which is not you need to concat $email and _append.

    Side Note:

    Please use mysqli_* or PDO instead of mysql_* its deprecated and not available in PHP 7.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!