检索信息的Mysql问题

时间:2012-06-20 09:15:39

标签: php mysql

我有这个问题,这给了我一些问题......

我正在尝试将查询导出到文本文件中,此函数会创建一个data.txt文件,但它会返回为空。

我得到的错误信息是:

  

mysql_fetch_array():提供的参数不是......第87行的有效MySQL结果资源

代码是:

$fh = fopen('data.txt', 'w');
$result1 = mysql_query("SELECT $checked FROM hostess;");
while ($row = mysql_fetch_array($result1)) {
    $last = end($row);
    foreach ($row as $item) {
        fwrite($fh, $item);
        if ($item != $last)
            fwrite($fh, "\t");
    }
    fwrite($fh, "\n");
}
fclose($fh);

第87行是:

while ($row = mysql_fetch_array($result1)) {

这有什么问题?

谢谢..

2 个答案:

答案 0 :(得分:1)

你应该通过mysql_query()监听错误,看看出了什么问题。在测试环境中,这可能如下所示:

$result1 = mysql_query("SELECT $checked FROM hostess");
if ( !$result1 ) { echo mysql_error(); }
// rest of the code

答案 1 :(得分:1)

使用mysql方法跟踪错误时应该使用mysql_error()。

这里甚至没有创建mysql连接。首先在该代码的开头添加以下行。

 $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
 if (!$link) {
    die('Could not connect: ' . mysql_error());
 }
 mysql_select_db('db');

然后运行您的代码,不要忘记使用添加mysql_error()。 :):)

$result1 = mysql_query("SELECT checked FROM hostess");
if ( !$result1 ) { 
    echo mysql_error();
}else{
     // your code
}