Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysqldump没有插入和制表符而不是逗号_Php_Mysql - Fatal编程技术网

Php Mysqldump没有插入和制表符而不是逗号

Php Mysqldump没有插入和制表符而不是逗号,php,mysql,Php,Mysql,我使用PHP和mysqldump从带有blob的表中获取一些数据。我的客户机在其本地计算机上使用mysqldump,得到的结果与我使用shell_exec()通过PHP运行mysqldump的结果大不相同。这些问题是: 1) 列由分隔,而不是制表符分隔。文档上说选项卡是默认的,但它使用的是逗号 2) BLOB用“(引号)括起来 3) 本地mysqldump正在输出用\转义的TAB和LF字符。出于某种原因,我的PHP mysqldump似乎将TAB和LF字符替换为“\n”和“\r” 我已经浏览了文

我使用PHP和mysqldump从带有blob的表中获取一些数据。我的客户机在其本地计算机上使用mysqldump,得到的结果与我使用shell_exec()通过PHP运行mysqldump的结果大不相同。这些问题是:

1) 列由分隔,而不是制表符分隔。文档上说选项卡是默认的,但它使用的是逗号

2) BLOB用“(引号)括起来

3) 本地mysqldump正在输出用\转义的TAB和LF字符。出于某种原因,我的PHP mysqldump似乎将TAB和LF字符替换为“\n”和“\r”

我已经浏览了文档,并尝试使用我可以使用的任何mysqldump选项,但似乎还不够

$out = shell_exec('mysqldump  --default-character-set=utf8 --no-create-info --compact --user=xxx--password=xxx--host=xxx.xxx.com db table');
echo $out;

感谢您提供的任何帮助。

这些差异可能是由于mysqldump的不同版本,以及linux与windows之间的行尾差异(windows上的CrLF和linux上的LF)。 所有这些都可以由命令行选项控制。 运行mysqldump-?要获得这些选项,以下是与您的问题相关的选项:

--以=名称结尾的行
输出文件中的行由给定的
一串
--以=名称结尾的字段
输出文件中的字段由给定的
一串
--由=name括起的字段
输出文件中的字段由给定的
性格
--字段(可选地由=名称括起)
输出文件中的字段可以选择由
给定的字符。
--按=名称转义的字段
输出文件中的字段由给定的

字符。
你是在windows上,他是在linux上吗?他是在Win上,我们的网络主机是linux(debian)是的,如果我使用其中任何一个,我都不会得到结果,所以我猜他们不在同一台服务器上。