我已经编写了一个PHP代码,该代码创建一个文本文件并逐行存储myssql表的内容。
我写的代码是

<?php
session_start();
include "functions.php";
db_connect();
$winners=mysql_query("SELECT * FROM winners") or die(mysql_error());
//creates a .txt file
$fp = fopen("myText.txt","wb");
while($winner=mysql_fetch_array($winners))
{
 $event=$winner['Event'];
 $position=$winner['Position'];
$name=$winner['Name'];
$college=$winner['College'];

$current = "$position $event $name $college";
file_put_contents($fp,$current,FILE_APPEND);
}
fclose($fp);
?>


我得到的o / p是一个没有内容的空白文本文件。
我期望的o / p是一个文本文件,其内容如下

1 Sam   SUDOKU       MIT
2 David BASKETBALL   OXFORD


我是php的初学者,我无法通过我的代码找出问题所在???

最佳答案

file_put_contents使用字符串作为第一个参数,而不是文件指针。

请改用fwrite。

while($winner=mysql_fetch_assoc($winners))
{
 $event=$winner['Event'];
 $position=$winner['Position'];
 $name=$winner['Name'];
 $college=$winner['College'];

 $current = "$position $event $name $college";
 fwrite($fp,$current );
}

10-07 19:37