为什么我的mysql_fetch_array或mysql_fetch_assoc不起作用

时间:2014-12-03 04:03:42

标签: php mysql

我希望将mysql查询的结果转换为文本,目前它在我输入 mysql_num_fields mysql_num_rows 时有效,但它不起作用 mysql_fetch_array < / strong>或 mysql_fetch_assoc 这是真正的要求..任何人都可以告诉我这段代码有什么问题

$query = "CALL create_report($ID, '$startDate', '$endDate', $endlmt, $position);";

    $Localcon = $this->getConnection();
    $result = mysql_query($query, $Localcon);
    //$debug = mysql_num_rows($result);
    $myFile = "debug.txt";
    $fh = fopen($myFile, 'w') or die("can't open file");
    $stringData = "-------------\n";
    fwrite($fh, $stringData);
    $stringData = mysql_fetch_array($result);
    fwrite($fh, $stringData);
    fclose($fh);

已编辑的代码

$stringData_2 = mysql_fetch_array($result);
    foreach ($stringData_2 as $string) {
        $stringData = "----------------\n";
        fwrite($fh, $stringData);
        fwrite($fh, $string);
    }

1 个答案:

答案 0 :(得分:2)

问题是mysql_fetch_array返回一个数组,而fwrite期待一个字符串。以下是您的代码产生的错误:

fwrite() expects parameter 2 to be string, array given in ...

fwrite的2个参数$stringData需要是一个字符串。

根据你想要做的事情,你可以先尝试这样的事情,然后再尝试其他选择:

...
foreach($result as $str) {
    fwrite($fh, $str);
}
...

旁注: Why shouldn't I use mysql_* functions in PHP?