Note that there are some explanatory texts on larger screens.

plurals
  1. POInsert and Select from Stored Procedure in PHP
    text
    copied!<p>I am currently trying to execute a stored procedure(Two INSERTS and a SELECT) through PHP. The stored procedure works (no errors are thrown). The values are even inserted into the given tables. We are storing the result in a JSON object but it is returning an empty array. When we execute the stored procedure containing only a SELECT it returns the correct values. All the names have been changed in our tables (may have missed some but our code runs). Can anyone shed light on why our array is not populating?</p> <p>Here is our stored procedure </p> <pre><code>ALTER procedure As BEGIN INSERT INTO TABLE1 (Loan_ID, Doc_ID, Borrower_Name, Docs_Drawn, Funder, First_Payment, Interest_Rate, Loan_Amount) Select Loan_ID, (SELECT (COUNT(*)) FROM TABLE WHERE A.Loan_ID = Loan_ID) AS Doc_ID, Borrower ,[Date_Docs_Drawn] ,[Funder] ,[Payment_Date] ,[Interest_Rate] ,[Loan_Amount] from VIEW A INSERT INTO TABLE2 (Loan_ID, Submitted_By, Event_Class, Event_Type, Event_Date, Doc_ID) SELECT A.[Loan_ID], 'Program' AS Submitted_By ,'Collateral' AS Event_Class , 'Outstanding' AS Event_Type , CURRENT_TIMESTAMP AS Event_Date , Doc_ID FROM TABLE1 AS A WHERE NOT (A.Loan_ID = ANY (SELECT Loan_ID FROM TABLE2)) SELECT [Loan_ID],[Doc_ID],[Borrower_Name] ,[Funder] ,[Docs_Drawn] ,[First_Payment] ,[Loan_Amount] ,[Interest_Rate] FROM TABLE1 WHERE Loan_ID &lt;&gt; ALL (SELECT Loan_ID FROM TABLE2 WHERE Event_Type &lt;&gt; 'Outstanding') ORDER BY Funder END </code></pre> <p>here is a rough sketch of our PHP</p> <pre><code>$query = "exec storedProcedure"; $result=sqlsrv_query($conn, $query); $table = array(); while($row = sqlsrv_fetch_array($result)) { $table[] = $row; } echo json_encode($table); </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload