![](/img/trans.png)
[英]Running a MS SQL server stored procedure with a mac in php using PDO
[英]Running a sql server stored procedure using CakePHP
我想知道這是否是使用cakePHP運行microsoft sql server存儲過程的正確語法。 在CakePHP中執行存儲過程時,這是正確的語法嗎?
$this->Main->query("Exec uspGetVendorVehicleManifest '1/6/2014', 'wali.americantour', @pcolVehicleVendorIDInt = 1,@pRouteFrom = 0, @pRouteTo = 0");
存儲過程具有以下參數:
@pDate AS DATE,
@pUserID AS VARCHAR(50),
@pRegionIDInt AS INT,
@pPortIDInt AS INT,
@pcolVehicleVendorIDInt AS INT,
@pStartRow AS INT,
@pMaxRow AS INT,
@pLoadType AS INT,
@pOrderby AS VARCHAR(20),
@pRouteFrom AS TINYINT,
@pRouteTo AS TINYINT,
@pCityFrom AS VARCHAR(5),
@pCityTo AS VARCHAR(5),
@pStatus AS VARCHAR(4),
@pRole AS VARCHAR(50)
我只使用一些參數,因為其他參數不是必需的。
它是否正確?
我終於找到了解決方案。 您可以使用exec命令,然后將值添加到您將使用的參數中。
$this->ControllerName->query("exec storedProcedure @param1 = 1");
雖然我注意到當我在cakephp上運行它時,使用php 5.5,apache服務很可能會崩潰。 可能是因為我使用的是非正式的phppdo。
試試這樣
我假設您的程序名稱是uspGetVendorVehicleManifest
$query = "call uspGetVendorVehicleManifest('1/6/2014', 'wali.americantour', @pcolVehicleVendorIDInt = 1,@pRouteFrom = 0, @pRouteTo = 0)";
$result = $this->query($query);
我使用mysql的過程方法,因為在引擎蓋下,cakephp使用pdo我認為這個方法應該有效..讓我知道會發生什么,因為我也想知道它是如何完成的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.