之前写了一个函数,就是从一个数据库的表中取出最后的五个记录,以前对,但事后不知道怎么就不对了我的程序如下。另外,问一下,怎么从一个表中取出最后的  n 条记录呢Fatal error: Call to a member function rowcount() on a non-object 这个是报错
<?php  include_once("smarty_inc.php");
  include_once("Libs/web_inc.php");
  include_once("conn.php"); $InfRec = post_top_n_news( 5,"chinese_jobs","", $db); $smarty->assign("InfRec", $InfRec); $smarty->display("front_page.htm");?><?php
//////////////////////////////////////////////////////////////////////////////
//
// FUNCTIONS
//
//////////////////////////////////////////////////////////////////////////////
/* it extracts several top news from the database
 * $newNum 取出多少个记录
 * $TableName 表的名字
 *       $_db              操作数据库的标示
 */function post_top_n_news( $_newNum,$_tabelName,$_db ){
$Topnews[$_newNum]; // 返回储存记录
$DB = $_db; $rs = $DB->query("SELECT * FROM $_tabelName"); // 感觉这行有问题
$recordtotal = $rs->rowcount() - $_newNum;     // 这行就报错了 $rs = $DB->query("SELECT * FROM $_tabelName LIMIT $recordtotal, $_newNum");  $sql = "SELECT * FROM chinese_jobs LIMIT 0 , 30"; $i = $_newNum; while( $row = $rs->fetch() ){
$i -= 1;
$Topnews[$i] = $row[Title];
}
return $Topnews;*/
}?>

解决方案 »

  1.   

    $InfRec = post_top_n_news( 5,"chinese_jobs","", $db);
    ===========
    function post_top_n_news( $_newNum,$_tabelName,$_db )注意参数
      

  2.   

    $InfRec = post_top_n_news( 5,"chinese_jobs","", $db); 这行写错了,没有中间的那个,应该是
    $InfRec = post_top_n_news( 5,"chinese_jobs", $db); 
    因为有个参数没必要在这里展示
      

  3.   

    $rs = $DB->query("SELECT * FROM $_tabelName"); $rs = $DB->query("SELECT * FROM  ". $_tabelName);