PHP和使用Num_Of_Rows()函数?

时间:2010-05-16 17:00:44

标签: php sqlite pdo

下面是我编写的一些PHP代码,问题发生在使用num_of_rows()时,它似乎无法正常工作,我无法找出原因?

<?php
try
{
    $divMon_ID = array();
    $divMon_Position = array();
    $divMon_Width = array();
    $divMon_Div = array();

    $db = new PDO('sqlite:db/EVENTS.sqlite');
    $result_mon = $db->query('SELECT * FROM Monday');
    $totalRows = mysql_num_rows($result_mon);
    //for($counter=1; $counter<=10; $counter+=1)
    //{

        //<div id="event_1" style="position:absolute; left: 0px; top:-39px; width:100px; font-family:Arial, Helvetica, sans-serif; font-size:small; border:2px blue solid; height:93px">
        //$divMon_ID[]=$row['Id'];
        //$divMon_Position[]=$row['Origin'];
        //$divMon_P[]=$row['Position'];
    //}
}
catch(PDOException $e)
{
    print 'Exception : '.$e->getMessage();
}

&GT;

我知道它是“$ totalRows = mysql_num_rows($ result_mon);”声明,因为当我然后评论它,页面可以加载。

我是否以错误的方式使用该功能?

感谢。

3 个答案:

答案 0 :(得分:1)

你不能将mysql_num_rows与pdo一起使用。您必须使用rowCount()

答案 1 :(得分:1)

如果你使用了mysql_connect和其他mysql_ *函数,那么mysql_num_rows会起作用。在使用PDO时,必须使用PDO的方法,例如rowCount()

答案 2 :(得分:0)

您已创建连接到SQLite数据库的PDO对象。为什么MySQL函数应该知道如何处理这些?

query方法返回PDOStatement类型的对象,该对象具有rowCount方法。使用:

$totalRows = $result_mon->rowCount();

也就是说,如果您在处理它们之前甚至需要知道总行数。如果您需要知道 all 是表中的行数,请考虑使用COUNT SQL函数:SELECT COUNT(*) FROM Monday