我正在动态创建 .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)
- 1 回答
- 0 关注
- 209 浏览
添加回答
举报
0/150
提交
取消