PHP и использование функции Num_Of_Rows ()? - PullRequest
1 голос
/ 16 мая 2010

Ниже приведен некоторый 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();
}

?>

Я знаю, что это "$ totalRows = mysql_num_rows ($ result_mon);" заявление, потому что, когда я затем закомментирую его, страница может загрузиться.

Я неправильно использую функцию?

Спасибо.

Ответы [ 3 ]

1 голос
/ 16 мая 2010

Mysql_num_rows будет работать, если вы используете mysql_connect и другие функции mysql_ *. Поскольку вы используете PDO, вы должны использовать методы PDO, такие как rowCount ()

1 голос
/ 16 мая 2010

Вы не можете использовать mysql_num_rows с pdo. Вы должны использовать rowCount ()

0 голосов
/ 16 мая 2010

Вы создали объект PDO, подключающийся к базе данных SQLite. Почему функция MySQL должна знать, как с этим справляться?

Метод query возвращает объект типа PDOStatement, который имеет метод rowCount. Используйте это:

$totalRows = $result_mon->rowCount();

То есть, если вам даже нужно знать общее количество строк перед их обработкой. Если all , который вам нужно знать, это количество строк в таблице, попробуйте вместо этого использовать функцию COUNT SQL: SELECT COUNT(*) FROM Monday.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...