Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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导出到csv而无需查询或_Php_Mysql_Export To Csv - Fatal编程技术网

将php导出到csv而无需查询或

将php导出到csv而无需查询或,php,mysql,export-to-csv,Php,Mysql,Export To Csv,我有一个php查询,没有问题。然而,在导出到csv文件之前,我需要使用正则表达式来定制一些变量的外观。我也有这个工作 $form_field_number_UPD = preg_replace('(\W{3}.*)', '\n', $form_field_number); 我的问题是,我需要导出这些自定义变量,而不是原始查询结果 这可能吗 而且 我一直试图在mysql 5.7中使用正则表达式,但没有成功。 MySQL 5.7中是否有preg_replace等价物? 我还没找到。MySQL 7中

我有一个php查询,没有问题。然而,在导出到csv文件之前,我需要使用正则表达式来定制一些变量的外观。我也有这个工作

$form_field_number_UPD = preg_replace('(\W{3}.*)', '\n', $form_field_number);
我的问题是,我需要导出这些自定义变量,而不是原始查询结果

这可能吗

而且

我一直试图在mysql 5.7中使用正则表达式,但没有成功。 MySQL 5.7中是否有preg_replace等价物? 我还没找到。MySQL 7中似乎有一个,但我还不能升级

我的php,我想找到一个mysql等价物:

$form_field_number_UPD = preg_replace('(\W{3}.*)', '\n', $form_field_number);
我在下面试过,但不起作用

REPLACE(fd.form_field_number, '(\W{3}.*)', '\n', 1, 5) AS New_Field 
谢谢你的帮助,即使是“看这里…”

修订版::


我有一个复选框组列,其中的结果是:

result 1|~|result 1
result 2|~|result 2
result 3|~|result 3
result 1
result 2
result 3
正则表达式删除| ~ |及其右边的所有内容,因此结果如下:

result 1|~|result 1
result 2|~|result 2
result 3|~|result 3
result 1
result 2
result 3

我可以在php中执行此操作,但需要将这些结果放入可下载的csv文件。

我建议使用MySQL
SELECT
查询并使用php
preg_replace()
语句获取要导出到php的数据数组,因为您知道这是可行的。从php数组将替换的数据导出到csv文件非常简单


此链接提供了有关如何执行此操作的代码示例的答案:

如果您的列始终使用符号
| ~
进行标定,则不需要正则表达式;查找此确切序列的出现情况,并使用
SUBSTR
切掉字符串的其余部分:

SELECT SUBSTR(fd.form_field_number, 1, LOCATE('|~|', fd.form_field_number)-1) AS trimmed
FROM ...

我的正则表达式(preg_替换)非常糟糕。那么你想替换什么呢?我有一个复选框组列,其中的结果是:结果1 | ~ |结果1结果2 | ~ |结果2结果3 | ~ |结果3正则表达式删除了| ~ |及其右侧的所有内容,结果是:结果1结果2结果3我可以在php中完成这项工作,但需要将这些结果放入可下载的csv文件中。这将是完美的,但我需要添加一个替换。我的缺点是没有提到上面列出的代码来自一行中的一列。所以从技术上讲,它看起来像:结果1 | ~ |结果1\n结果2 | ~ |结果2\n结果3 | ~ |结果3。所以我需要以某种方式将replace和substr结合起来。这可能吗?。当你在做的时候,看看你还需要什么。这到底是什么样的“数据”?如果这类资料位于单个数据库单元中,那么您并不是真正在处理关系数据,也不应该尝试使用SQL完成整个工作。将它拉到php中,与
regexp\u replace()
及其朋友一起进城,并使用
fputcsv()
写出结果。