我希望将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);
}
答案 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);
}
...