mam napisana procedure w MSSQL 2008. Chce wywołać ją z poziomu php. Serwer php nie zgłasza żadnego błędu, ale danych nie moge wyświetlić. Zmienna $row jest pusta. Czy procedure należy zmienić, aby mogła wysyłać dane do php? Czy należy z php inaczej odwołać się do danych?
--procedura ALTER PROCEDURE [dbo].[REP_UsersProductivity] @DTFrom datetime,@DTTo datetime AS CREATE TABLE #REP_Picking (UserName VARCHAR(254), SUCount INT, LinesCount INT, AVGWorkSUTime char(8), AVGWorkLineTime char(8)) CREATE TABLE #REP_Decompose (UserName VARCHAR(254), SUCount INT, LinesCount INT, AVGWorkSUTime char(8), AVGWorkLineTime char(8)) CREATE TABLE #REP_KWT (UserName VARCHAR(254), SUCount INT, LinesCount INT, AVGWorkSUTime char(8), AVGWorkLineTime char(8)) CREATE TABLE #REP_KOW (UserName VARCHAR(254), SUCount INT, LinesCount INT, AVGWorkSUTime char(8), AVGWorkLineTime char(8)) INSERT INTO #REP_Picking SELECT UserName,count(DISTINCT SUNr) AS SUCount,sum(LinesCount) LinesCount, convert(char(8),dateadd(millisecond,(sum(datediff(millisecond,0,WorkTime))/cast(count(DISTINCT SUNr)AS decimal(15,2))),'00:00:00'), 108) AS AVGWorkSUTime, convert(char(8),dateadd(millisecond,(sum(datediff(millisecond,0,WorkTime))/cast(sum(LinesCount) AS decimal(15,2))),'00:00:00'), 108) AS AVGWorkLineTime FROM arch.REP_Picking WHERE EndDT>=@DTFrom AND EndDT<@DTTo+1 GROUP BY UserName ORDER BY UserName . . . . SELECT u.UserName, p.SUCount PickingSUCount, p.LinesCount PickingLinesCount, p.AVGWorkSUTime PickingAVGWorkSUTime, p.AVGWorkLineTime PickingAVGWorkLineTime, d.SUCount DecomposeSUCount, d.LinesCount DecomposeLinesCount, d.AVGWorkSUTime DecomposeAVGWorkSUTime, d.AVGWorkLineTime DecomposeAVGWorkLineTime, k.SUCount KWTSUCount, k.LinesCount KWTLinesCount, k.AVGWorkSUTime KWTAVGWorkSUTime, k.AVGWorkLineTime KWTAVGWorkLineTime, kw.SUCount KOWSUCount, kw.LinesCount KOWLinesCount, kw.AVGWorkSUTime KOWAVGWorkSUTime, kw.AVGWorkLineTime KOWAVGWorkLineTime FROM (SELECT UserName FROM #REP_Picking UNION SELECT UserName FROM #REP_Decompose UNION SELECT UserName FROM #REP_KWT UNION SELECT UserName FROM #REP_KOW ) u LEFT JOIN #REP_Picking p ON p.UserName = u.UserName LEFT JOIN #REP_Decompose d ON d.UserName = u.UserName LEFT JOIN #REP_KWT k ON k.UserName = u.UserName LEFT JOIN #REP_KOW kw ON kw.UserName = u.UserName DROP TABLE #REP_Picking DROP TABLE #REP_Decompose DROP TABLE #REP_KWT DROP TABLE #REP_KOW
$DTFrom = '2011-01-01'; $DTTo = '2011-01-31'; $proc = mssql_init('dbo.REP_UsersProductivity',$link); mssql_bind($proc,'@DTFrom',$DTFrom,SQLINT4) or die("Unable to bind $DTFrom<br>".mssql_get_last_message()); mssql_bind($proc,'@DTTo',$DTTo,SQLINT4) or die("Unable to bind $DTTo<br>".mssql_get_last_message()); if ($result = mssql_execute($proc)) { if ($row = mssql_fetch_assoc($result)) { } }
Temat nie aktualny. Źle odwoływalem sie do danych