自 PHP 4.0.6 起不提倡使用此函数。不要用此函数,用 mysql_select_db() 和 mysql_query() 来替代。
---------------------------------------------
"echo $result结果为:select * from news where category='热点' order by date desc "$result的值只是一个字符串,你要用mysql_num_rows()能得出什么?
------------------------------
$result的结果应该是个结果集,才能出到你想要的东西。

解决方案 »

  1.   

    这有一个小例子,你参考一下吧!
    <?php$link = mysql_connect("localhost", "mysql_user", "mysql_password");
    mysql_select_db("database", $link);$result = mysql_query("SELECT * FROM table1", $link);
    $num_rows = mysql_num_rows($result);echo "$num_rows Rows\n";?>
      

  2.   

    我试了下上面的例子没问题,但是当我在SQL语句中加上where category='$category'的时候,就出错了
    Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=' 这是不是什么中文和什么拉丁文什么的不合法呢?求救
      

  3.   

    ALTER TABLE `table1` CHANGE `category` `category` VARCHAR(20) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL 
    如果还不行,可能就要重新装一下mysql了
      

  4.   

    已经找到病症了,呵呵,在$result=mysql_db_query($dbname,$str_sql,$link_id) or die(mysql_error()); 前面加一句
    mysql_query("SET NAMES gbk");
    就OK了!~~