MYSQL ERROR: PROCEDURE cannot return a result set in this context

I am new to stored procedure in mysql

This is a procedure to return a date difference, excluding weekends, but it returns an error

#1312 - PROCEDURE blog1.DayCount can't return a result set in the given context

This is a procedure

 DROP PROCEDURE IF EXISTS daycount; CREATE PROCEDURE DayCount( d1 DATE, d2 DATE ) SELECT dd.iDiff, dd.iDiff - dd.iWeekEndDays AS iWorkDays, dd.iWeekEndDays FROM ( SELECT dd.iDiff, ((dd.iWeeks * 2) + IF(dd.iSatDiff >= 0 AND dd.iSatDiff < dd.iDays, 1, 0) + IF (dd.iSunDiff >= 0 AND dd.iSunDiff < dd.iDays, 1, 0)) AS iWeekEndDays FROM ( SELECT dd.iDiff, FLOOR(dd.iDiff / 7) AS iWeeks, dd.iDiff % 7 iDays, 5 - dd.iStartDay AS iSatDiff, 6 - dd.iStartDay AS iSunDiff FROM ( SELECT 1 + DATEDIFF(d2, d1) AS iDiff, WEEKDAY(d1) AS iStartDay ) AS dd ) AS dd ) AS dd ; CALL DayCount( '2009-8-1','2009-9-15'); 
+4
source share
1 answer

Check this saved proc in mysql console, if it works fine, you should check your call with PHP. I found that the same problem happens to other people .

0
source

Source: https://habr.com/ru/post/1316652/


All Articles