我有一个简单的语句,但似乎无法从select语句中获得行数,当它非常简单时,真的很困扰我。我的绳子一直空着。
这是代码
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
除了fetchColumn,您还可以尝试以下方法:
-
计算的行数
$rows = $stmt->fetchAll(); echo "count = " . count($rows);
-
使用
rowCount()
echo "count = " . $stmt->rowCount();
-
将其添加到查询中:
SELECT COUNT(*) as rowCount ...
echo $row['rowCount'];
试试这个:
echo $q2->rowCount();
或
$row = $q2->fetch(PDO::FETCH_NUM);
echo $row[0];
->rowCount();
文档
您总是可以获得上次查询中返回的行数。只需在SELECT
语句之后添加SQL_CALC_FOUND_ROWS
$sql2 = "select SQL_CALC_FOUND_ROWS * from TJ_ThreadJoined where TJ_T_ID = :threadID"
然后执行查询SELECT FOUND_ROWS()
,获取行,您将获得上一个查询的行数。