dsdsm2016
2015-06-22 13:30
浏览 216
已采纳

PHP - PDO,如何返回select语句中的行数

I have a simple statement but cant seem to get the number of rows from the select statement, really bugging me when its really simple. I keep getting empty string.

Here is the code

include "connect.php";

$userID = $_POST['userID'];
$threadID = $_POST['threadID'];

$sql1 = "select * from AT_AddThread where AT_ID = :threadID";
$stmt = $conn->prepare($sql1);
$stmt->execute(array(':threadID' => $threadID));
$result = $stmt->fetchColumn(7);
//echo $result;

$sql2 = "select * from TJ_ThreadJoined where TJ_T_ID = :threadID"
$q2 = $conn->prepare($sql2);
$q2->execute(array(':threadID' => $threadID));
$q2->execute();
$rows = $q2->fetchColumn();
echo $rows; //THIS IS where i want to return the number of rows from the select statement
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • douyi6818 2015-06-22 14:00
    已采纳

    In addition to fetchColumn you can try the following ways:

    1. count the rows

      $rows = $stmt->fetchAll(); echo "count = " . count($rows);

    2. Use rowCount()

      echo "count = " . $stmt->rowCount();

    3. Add it to the query :

      SELECT COUNT(*) as rowCount ...

      echo $row['rowCount'];

    打赏 评论
  • dongxindu8753 2015-06-22 13:41

    Try this:

    echo $q2->rowCount();

    or

    $row = $q2->fetch(PDO::FETCH_NUM);
    echo $row[0];
    

    .

    ->rowCount(); doc

    打赏 评论
  • doupuzhimuhan9216 2015-06-22 14:02

    You can always get number of rows returned in last query. Just add SQL_CALC_FOUND_ROWS after SELECT statement

    $sql2 = "select SQL_CALC_FOUND_ROWS * from TJ_ThreadJoined where TJ_T_ID = :threadID"
    

    Then execute query SELECT FOUND_ROWS(), fetch row and you will have number of rows from last query.

    打赏 评论

相关推荐 更多相似问题