+ -
当前位置:首页 → 问答吧 → 有一个问题还是弄不清楚,需要高手来帮忙哟

有一个问题还是弄不清楚,需要高手来帮忙哟

时间:2009-12-28

来源:互联网

张老师那个新闻系统源文件里,有一个数据库的文件mysql.class.php.包括啦数据库操作的一个类,面有一段代码我实在无法理解,有高手能帮我解释一下吗?
/*查询数据库下所有的表*/
    public function show_tables($database_name) {
        $this->query("show tables");
        echo "现有数据库:" . $amount = $this->db_num_rows($rs);
        echo "<br />";
        $i = 1;
        while ($row = $this->fetch_array($rs)) {
            $columnName = "Tables_in_" . $database_name;
            echo "$i $row[$columnName]";
            echo "<br />";
            $i++;
        }
    }

    /*

作者: phpinfo   发布时间: 2009-12-28

那位帅哥过来接招???

作者: phpinfo   发布时间: 2009-12-28

show tables是查询数据库的表,这段就是查出数据中的表, $amount 是表的个数,然后一个循环输出所有表的名字

作者: jury   发布时间: 2009-12-28

楼上正解

作者: syuanq   发布时间: 2009-12-28

我需要祥细解释........!!!!!!!!!!!!!!!!!!!!!!!!!!

作者: phpinfo   发布时间: 2009-12-28

你还有什么不明白吗?这段跟本没什么特别的!  
$this->query("show tables");执行query方法,show tables是查询语句
$amount = $this->db_num_rows($rs); 调用db_num_rows方法返回查询记录数,就是数据库表的个数
while ($row = $this->fetch_array($rs)) {
            $columnName = "Tables_in_" . $database_name;
            echo "$i $row[$columnName]";
}循环输出查询结果,就是循环输出名为$database_name中所有的表

作者: jury   发布时间: 2009-12-28

学习了,
复杂真的是由很多个简单组合而成

作者: dwtmtdh   发布时间: 2009-12-28

谢谢你...$amount = $this->db_num_rows($rs) while ($row = $this->fetch_array($rs))
$rs可以根本不用写你说呢?

作者: phpinfo   发布时间: 2009-12-29

怎搞不用写呢?

作者: jury   发布时间: 2009-12-29

你仔细看看代码前后,这个根本不用写,写这个也是多余...起不了任何作用我说的是这个$rs

作者: phpinfo   发布时间: 2009-12-29

不好意思 我没看出来,你给解释下。。。。

作者: jury   发布时间: 2009-12-29

在这个类中,定义的这两个函数:db_num_rows()
fetch_array(),第一根本就没有定义参数,第二这里面的内容自动就是执行结果集$this->result,第三,这个$rs从那里来的更无从谈起

作者: phpinfo   发布时间: 2009-12-29

我就看到这两个函数 类的其他我们看到了 我没有的 哈哈

作者: jury   发布时间: 2009-12-29

难怪难怪我发给你看哟
mysql.class.rar (4 K) 下载次数:0

作者: phpinfo   发布时间: 2009-12-29

怎么没人回答啦...

作者: phpinfo   发布时间: 2009-12-30

还没有学到这里呢...555..好慢奥..

作者: waitfall   发布时间: 2010-01-01