Я не могу выполнить хранимую процедуру в SQL Server 2008, используя PDO и freetds (версия tds = 4.2, FreeBSD 10.0, php 5.6.2):
$host = 'SRV1';
$db = 'FLOT_RRR';
$user = 'coolman';
$pass = '******';
$charset = 'windows-1251';
$dsn = "dblib:version=4.2;host=$host;dbname=$db;$charset";
try {
$pdo = new PDO($dsn, $user, $pass);
} catch(PDOException $e) {
die("Failed to get DB handle: " . $e->getMessage()) ;
}
$st = $pdo->prepare('EXEC dbo.getNumberSmallShips');
$res = $st->execute();
var_dump($res)
возвращает bool (false)
Моя хранимая процедура:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[getNumberSmallShips]
AS
BEGIN
SET NOCOUNT ON;
SELECT COUNT (*)
FROM
(SELECT
FLO_RN, FLO_FKL
FROM
flotmintrans
WHERE
FLO_FKL LIKE '%мс%' OR
FLO_FKL LIKE '%категория%' OR
FLO_FKL LIKE '%категория 3%' OR
FLO_FKL LIKE '%категория 4%' OR
FLO_FKL LIKE '%категория 5%' OR
FLO_FKL LIKE '1' OR
FLO_FKL LIKE '2' OR
FLO_FKL LIKE '3' OR
FLO_FKL LIKE '5' OR
FLO_FKL LIKE '4' AND
FLO_DSU IS NULL) AS subquery
END
В чем дело?