为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用PHP在sql文件中动态创建sql文件和写入查询?

如何使用PHP在sql文件中动态创建sql文件和写入查询?

PHP
RISEBY 2021-08-28 09:04:37
我正在动态创建 .sql 文件并编写创建表查询,但查询打印在一行中,但我需要它类似        $sql = "CREATE TABLE `tbl_demo` (        `system_id` varchar(200) NOT NULL,        `last_name` varchar(200) NOT NULL,        `first_name` varchar(200) NOT NULL,        `full_name` varchar(200) NOT NULL,        `phone` varchar(200) NOT NULL,        `ext` varchar(200) NOT NULL,        `email` varchar(200) NOT NULL,        `dept` varchar(200) NOT NULL,        `site` varchar(200) NOT NULL,        `room` varchar(200) NOT NULL,        `job_title` varchar(200) NOT NULL,        `image` varchar(200) NOT NULL,        `url` varchar(200) NOT NULL,        `active` varchar(200) NOT NULL        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";这是我的代码。        <?php        $content = file_get_contents('demo.csv');        $table = 'demo';        $exp = explode("\n", $content);        echo '<pre>';        $headers = explode(',', strtolower(str_replace(' ', '_', $exp[0])));        $table_columns = array();        foreach ($headers as $header) {            $table_columns[] = '`' . $header . '`' . ' VARCHAR(255)';        }        $sql = 'CREATE TABLE ' . '`' . $table . '`' .  '(' . implode(',', $table_columns) . ') ENGINE=InnoDB DEFAULT CHARSET=utf8';        print_r($sql);        $myfile = fopen("temp/demo.sql", "a+") or die("Unable to open file!");        fwrite($myfile, $sql);        fclose($myfile);任何解决方案表示赞赏!
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

将 php 中的单引号 (') 更改为双引号 ("),并在行尾添加反斜杠 n (\n)。即


$VarToFile = "This is my line\n";

$VarToFile .= "This is a new line\n";

或者尝试改变


implode(',', $table_columns) 


implode(",\n", $table_columns) 


查看完整回答
反对 回复 2021-08-28
  • 1 回答
  • 0 关注
  • 209 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信