我已经建立了数据库的连接,把用到的数据库函数放到一个php文件中,怎么会出现这样的错误:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in G:\AppServ\www\daima\08\db_func.php on line 12Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in G:\AppServ\www\daima\08\db_func.php on line 12
请问各位师兄,师姐这是什么原因???

解决方案 »

  1.   

    mysql_query的时候,可能出错了,判断一下返回的是否错误,如果有错误,看一下mysql_error()得到的是什么
      

  2.   

    请把连接数据库一直到mysql_fetch_array之间的代码贴出来。
      

  3.   

    应该是query语句出错了,在query语句完成后应该进行下判断再mysql_fetch_array().
      

  4.   

    先把你的SQL丢到数据库中运行一下看看有没有问题。
      

  5.   

    <?php
    $db_host="192.168.0.3"; //MYSQL服务器名
    $db_user="root"; //MYSQL用户名
    $db_pass="840112"; //MYSQL用户对应密码
    $db_name="test"; //要操作的数据库
    //使用mysql_connect()函数对服务器进行连接,如果出错返回相应信息
    $link=mysql_connect($db_host,$db_user,$db_pass)or die("不能连接到服务器".mysql_error());
    mysql_select_db($db_name,$link); //选择相应的数据库,这里选择test库
    $sql="select * from test1"; //先执行SQL语句显示所有记录以与插入后相比较
    $result=mysql_query($sql,$link); //使用mysql_query()发送SQL请求
    echo "当前表中的记录有:";
    echo "<table border=1>"; //使用表格格式化数据
    echo "<tr><td>ID</td><td>姓名</td></tr>";
    while($row=mysql_fetch_row($result)) //遍历SQL语句执行结果把值赋给数组
    {
    echo "<tr>";
    echo "<td>".$row[0]."</td>"; //显示ID
    echo "<td>".$row[1]." </td>"; //显示姓名
    echo "</tr>";
    }
    echo "</table>";
    ?>
    师兄、师姐,帮我看一下,问题出在哪里呢?
      

  6.   

    好像没错误,确认一下你连上数据库,表test1 存在
      

  7.   

    查询语句错了,把你的查询语句输出,然后在你的PHPmyadmin里边运行一下!
      

  8.   

    $result=mysql_query($sql,$link); //使用mysql_query()发送SQL请求 $sql, $link反了
      

  9.   

    $result=mysql_query($sql,$link); //使用mysql_query()发送SQL请求 $sql, $link反了这可能不会吧,我在PHP书中看,是这样的语句。
    同时我也今天也测试了$result的结果不为空。
    我就不知道是怎么一回事了!
    高手们,帮我再看看行不?
      

  10.   


    错误提示说得非常明白:非法的 resource。决不是楼上几位说的“查询语句错误”。
    然后你检查一下 $link 的状态(到底连接成功了没有?),和使用情况(都在什么地方使用的?),就好。这是解决此问题的思路。
      

  11.   

    注:这样的问题其实还是SQL语句出错,要么就是你数据库连接根本没有连接上。
      

  12.   

    还有一个问题,今天很困扰我:
      难道还要让mysql与我的SQL server 相关联吗?
      如果要关联的话,我还没有查到关于这方面的介绍.
      

  13.   

    我用:<?php
    $db_host="192.168.0.3"; //MYSQL服务器名
    $db_user="root"; //MYSQL用户名
    $db_pass="840112"; //MYSQL用户对应密码
    $db_name="test"; //要操作的数据库
    //使用mysql_connect()函数对服务器进行连接,如果出错返回相应信息
    $link=@mysql_connect($db_host,$db_user,$db_pass)or die("不能连接到服务器".mysql_error());
    if (!$link)
     echo "数据库没有连接成功,请检查语句。";这种方式,测试,它没有任何提示得!
    求求你们了,急呀!
      

  14.   

    这可能是版本问题 我写 mysql_query的时候后面只有一个参数,就是 SQL查询穿。你应该有本php手册,然后找找各个函数的参数说明的。
    =.=
      

  15.   

    回8楼的
    你的数据库是$db_name="test";  你写的SQL语句是$sql="select * from test1LZ的应该是mysql_query的时候出错了
      

  16.   

    最笨的方法:$server='localhost';
    $user='root';
    $pass='123456';
    $db='test';$cn=mysql_connect($server, $user, $pass);
    var_dump($cn); //如果没有问题,就把这行删除。正常连接应该看到类似connection identifier之类的信息$sql="select * from test1"; //顺便回答23楼,这个test1是表,属于数据库testmysql_select_db($db);
    $res=mysql_query($sql);
    var_dump($res); //正常应该显示类似mysql resource id之类的信息while($row=mysql_fetch_assoc($res))
    {
    ...
    }如果你还是没有解决问题,那么我劝你放弃PHP这门貌似很有前途的语言吧……
      

  17.   

    另外,你的MySQL连接貌似连接的不是本机的MySQL数据库,那么你的MySQL服务器(192.168.0.3)的root用户是否具备远程登陆的权限也是一个很重要的方面,值得调查。
      

  18.   

    一般是sql语句 出错,
     如里是*nix系统的话,不妨检查一下 表名之类的 大小写。
      

  19.   

    为什么问题是说mysql_fetch_array 而贴出来的代码是mysql_fetch_row??
    mysql_fetch_row 和mysql_fetch_array是有区别的
      

  20.   


    有返回值的地方 echo var_dump()看看.www.fm618.net