解决PHP5的PDO rowCount MySQL问题

Ste*_*iec 16 php pdo

我最近开始使用PHP5开发一个新项目,并希望使用他们的PDO类.问题是MySQL PDO驱动程序不支持rowCount()所以没有办法运行查询然后获取受影响的行数或返回的行数,这是一个相当大的问题,就我而言.我想知道是否还有其他人已经处理过此问题,以及你为解决这个问题所做的工作.必须执行fetch()或fetchAll()来检查是否有任何行受到影响或返回对我来说似乎是一个黑客,我宁愿只做$ stmt-> numRows()或类似的东西.

Imr*_*ran 27

您可以SELECT FOUND_ROWS()在原始SELECT查询之后立即发出查询以获取行计数.

$pdo->query("SELECT * FROM users");
$foundRows = $pdo->query("SELECT FOUND_ROWS()")->fetchColumn();
Run Code Online (Sandbox Code Playgroud)

另请参见:FOUND_ROWS上的MySQL文档()

  • 一个问题,rowCount()对我来说也很好,在SELECT语句上也是如此。自从回答了这个问题以来,这已经实施了吗? (2认同)