0

mysql 関数の代わりに PDO を使い始めたところです。しかし今、私は自分の php ブログの一部に行き詰まっています。

このコードをもう少し PDO フレンドリーにするにはどうすればよいでしょうか。

$total_results = mysql_fetch_array(mysql_query("SELECT COUNT(*) as num   
    FROM php_blog"));
$total_pages = ceil($total_results['num'] / $blog_postnumber);
for($i = 1; $i <= $total_pages; $i++) {
   if ($page == $i) {
      echo "<span class='current'>$i</span>";
   }
   else {
      echo "<a href=\"index.php?page=$i\">$i</a>";
   }
}

PDO rowCount() で試してみましたが、うまくいかないようです...

英語が下手でごめんなさい、私はスウェーデン出身です!

4

2 に答える 2

0

rowCount は、PDO の mySQL では機能しません。代わりに、count(*) クエリを実行するだけです。

<?php
$sql = "SELECT count(*) FROM `table` WHERE foo = bar"; 
$result = $con->prepare($sql); 
$result->execute(); 
$number_of_rows = $result->fetchColumn();

出典: PDO での行数

于 2013-03-10T12:14:11.540 に答える
-1
$stmt = $db->exec( "select count(*) as num from php_blog" );
$results = $stmt->fetch();
$total_results = $results[ 'num' ];
$total_pages = ceil( $total_results / $blog_postnumber );
for($i = 1; $i <= $total_pages; $i++) {
   if ($page == $i) {
      echo "<span class='current'>$i</span>";
   }
   else {
   echo "<a href=\"index.php?page=$i\">$i</a>";
   }
}
于 2013-03-10T12:17:10.333 に答える