sql >> Databasteknik >  >> RDS >> Mysql

PDO rowCount() fungerar på MySQL men inte i SQL Server 2008 R2

Jag vet att det är lite av en gammal tråd, men jag hade en liknande fråga i morse och det finns faktiskt ett sätt för rowcount() funktion för att arbeta med SQL-server.

Jag använder en anslutningssträng som denna (för att ansluta till en SQL-serverdatabas):

$connection = new PDO("sqlsrv:Server=" . $this->sourceServer . ";Database=" . $this->sourceDB, $this->sourceUser, $this->sourcePW);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Och när jag vill använda en fråga för vilken jag behöver veta antalet rader som ska returneras (med SQL-server), använder jag PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL som andra parameter för PDO preparer fungerar precis så här:

$rs = $connection->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));

Här är exemplet från Microsofts webbplats:https:/ /msdn.microsoft.com/en-us/library/ff628154(v=sql.105).aspx

Tja, det är aldrig för sent att dela med sig av en bra lösning,

Jonathan Parent-Lévesque från Montreal



  1. Ta bort 1 miljon rader i SQL Server

  2. PHP MySql (1045) Åtkomst nekad för användare

  3. Laravel 5 PDOException kunde inte hitta drivrutinen

  4. Var är Bea Weblogic Work Folder