【发布时间】:2020-06-10 06:29:53
【问题描述】:
我正在使用 Laravel 7,我想显示存储过程的结果。我的代码如下。当我在 SQL Server 中使用参数执行存储过程时,它正在显示数据。但是在 Laravel 应用程序中没有显示数据。
请帮我找出问题。
$serverName = env("DB_HOST");
$connectionInfo = array( "Database"=>env("DB_DATABASE"), "UID"=>env("DB_USERNAME"), "PWD"=>env("DB_PASSWORD") );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$tsql= " EXEC USP_Daily_TA_Punching_Detailswith_OT '$employee','$datefrom','$dateto'";
$getResults= sqlsrv_query($conn, $tsql);
$data = array();
if ($getResults == FALSE)
{
echo '';
}
else {
//$data[] ='';
do
{
while ($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC))
{
$data[] = $row;
}
}
while (sqlsrv_next_result($getResults));
}
if(count($data)>0){
sqlsrv_free_stmt($getResults);
$total_row = count($data);
}
【问题讨论】:
-
这能回答你的问题吗? How to execute Stored Procedure from Laravel
-
嗯,这不完全是
Laravel代码,因为您使用的是 PHP Driver for SQL Server 中的 sqlsrv_ 函数。您想在不使用 Laravel 方法的情况下修复此代码吗? -
我尝试使用 laravel,但它显示错误“SQLSTATE[42000]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]'000010993' 附近的语法不正确。(SQL: exec USP_Daily_TA_Punching_Detailswith_OT ('000010993','2020-06-01','2020-06-10'))"
标签: php sql-server laravel sqlsrv