首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >刷到php pdo,计算行数

问刷到php pdo,计算行数
EN

Stack Overflow用户
提问于 2012-04-01 01:08:27
回答 4查看 240关注 0票数 1

我目前正在将所有sql查询更新到pdo,在pdo中我将使用prepare语句来防止sql注入攻击。到目前为止一切顺利,我现在只能用pdo来计算行数了。我尝试了以下几点:

代码语言:javascript
复制
 $sqlQuery = "SELECT COUNT(*) FROM News";
 $STIH = $DBH->query($sqlQuery);
 $rows_affected = $STIH->rowCount();
 echo($rows_affected); // returning result is 1, it should be 1038 

然而,当我使用像这样的旧代码时

代码语言:javascript
复制
$query = "SELECT COUNT(*) AS numrows FROM News";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
echo ($numrows); // it return result which I expected which is 1038 rows.

我在这里错过了什么。谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-01 01:20:45

使用$sth->fetchColumn()获取数据。

代码语言:javascript
复制
$sqlQuery = "SELECT COUNT(*) FROM News";
$STIH = $DBH->query($sqlQuery);
$rows_affected = $STIH->fetchColumn();
echo ($rows_affected);
票数 1
EN

Stack Overflow用户

发布于 2012-04-01 01:13:14

你被弄糊涂了。要获得1038,您需要该行的结果。当前,您正在获取SELECT计数返回的行数,即1行,其中包含1个值。

票数 2
EN

Stack Overflow用户

发布于 2012-04-01 01:12:32

由于某些原因,您使用PDO获取的不是数据,而是行数。

只需使用PDO获取数据,就像使用普通的mysql一样

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9957944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档