首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MySQL数据库输出PHP中删除",,,“

问从MySQL数据库输出PHP中删除",,,“
EN

Stack Overflow用户
提问于 2011-03-07 08:58:45
回答 5查看 156关注 0票数 0

我使用以下代码将MySQL数据库的内容输出到一个文本文件中:

代码语言:javascript
复制
<?php
$host = 'localhost';
$user = 'myusername';
$pass = 'mypassword';
$db = 'mydbname';
$table = 'mytablename';
$file = 'outputfilename';

$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("Can not connect.");

$result = mysql_query("SHOW COLUMNS FROM ".$table."");
$i = 0;
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
//$csv_output .= $row['Field']."; ";
$i++;
}
}
$csv_output .= "\n";

$values = mysql_query("SELECT * FROM ".$table."");
while ($rowr = mysql_fetch_row($values)) {
for ($j=0;$j<$i;$j++) {
$csv_output .= $rowr[$j].",";
}
$csv_output .= "\n";
}
//echo $csv_output;
$myFile = "output.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $csv_output;
fwrite($fh, $stringData);
fclose($fh);
exit;
?>

但是,我想知道在将字符串",,,"放入文本文件之前,如何将其替换为:","。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-07 09:01:37

使用preg_replace()。类似于以下内容(未经测试):

代码语言:javascript
复制
$pattern = '/\,\,\,/';
$replacement = ',';
echo preg_replace($pattern, $replacement, $stringData);
票数 2
EN

Stack Overflow用户

发布于 2011-03-07 09:09:42

不需要preg_replace()。

一个简单的str_replace就足够了。

代码语言:javascript
复制
$stringData = str_replace(',,,', ',', $csv_output);
票数 4
EN

Stack Overflow用户

发布于 2011-03-07 09:08:36

问题出在:

代码语言:javascript
复制
$values = mysql_query("SELECT * FROM ".$table."");

如果你得到的是,,,,,这意味着一些列没有值。检测这些列,不要将它们包含在SELECT语句中。

如果您将自动(preg_replace,str_replace)将多个逗号更改为一个逗号,则很可能会损坏CSV文件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5214700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档