Echo没有给我输出

时间:2012-01-17 20:15:23

标签: php

这是我的代码:

$values = mysql_query("SELECT cult_desc FROM culture");

while ($rowr = mysql_fetch_row($values)) {
    for ($j=0;$j<$i;$j++) {
        $csv_output .= $rowr[$j]."; ";
    }
    $csv_output .= "\n";
}

$filename = $file."_".date("d-m-Y_H-i",time());
#echo $filename;
echo $csv_output;

据我所知,它应该遍历每一段数据,并用&#34;;&#34;然后换行。相反,它没有给我输出。

3 个答案:

答案 0 :(得分:1)

从变量名称($csv_output),您似乎需要CSV格式的输出。

如果你有FILE权限,为什么不调用

$values = mysql_query("SELECT cult_desc INTO OUTFILE '/tmp/result.txt'
  FIELDS TERMINATED BY ';'
  LINES TERMINATED BY '\n'
  FROM culture");
readfile("/tmp/result.txt");

否则下面的代码就会这样做。

$values = mysql_query("SELECT cult_desc FROM culture");
$csv_output = "";
while ($rowr = mysql_fetch_row($values)) {
    $csv_output .= implode(";", $rowr). "\n";
}
$filename = $file."_".date("d-m-Y_H-i",time());
#echo $filename;
echo $csv_output;

答案 1 :(得分:0)

尝试使用空字符串初始化$csv_output,以便它可以连接到其中。否则您可能会收到通知,但您的代码将无效。另外,请检查以确保结果中确实存在值。

$csv_output = ''应该这样做,在循环之前调用它,除非你在其他地方初始化它。

您还需要将$i替换为$j,除非您在其他地方声明$i

答案 2 :(得分:0)

首先,mysql_fetch_row在你的情况下只有一个键0(存储cult_desc字段)。

您可以使用以下代码:

$csv_output = "";
$values = mysql_query("SELECT cult_desc FROM culture");
while ($rowr = mysql_fetch_assoc($values)) {
    $csv_output .= $rowr['cult_desc']."; \n";
}

$filename = $file."_".date("d-m-Y_H-i",time());
#echo $filename;
echo $csv_output;

我用mysql_fetch_assoc替换了mysql_fetch_row,因此你得到字段名称作为键而不是数字。有了它,您可以使用cult_desc

直接访问