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.

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

报告相同问题?

悬赏问题

  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本