当我在laravel5中运行更新存储过程时出现错误..
Connection.php line 620: SQLSTATE[42000]:
中的QueryException语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在第1行'Sandeep,09999999999,,,sandeep@gmail.com,,,,,,,)'
(SQL: call sp_clientupdate(108, Sandeep,09999999999,,,sandeep@gmail.com,,,,,,,))
return DB::select('call sp_clientupdate(108, Sandeep,0999999999,,,sandeep@gmail.com,,,,,,,)');
附近使用正确的语法
我的代码是......
$start_day = '20150530';
$end_day = '20150602';
function output_days($start_day, $end_day) {
while (strtotime($start_day) <= strtotime($end_day)) {
$date[] = $start_day;
$start_day = date ("Y-m-d", strtotime("+1 day", strtotime($start_day)));
}
return !empty($date) ? $date : 'LOL :) Correct date please';
}
print_r(output_days($start_day,$end_day));
请任何人给我解决方案.....
答案 0 :(得分:13)
试试这个,
DB::statement('call sp_clientupdate("108", "Sandeep","0999999999","","","sandeep@gmail.com","","","","","","",)');
效果很好。
答案 1 :(得分:8)
你改变了。
return DB::select('call sp_clientupdate("108", "Sandeep","0999999999","","","sandeep@gmail.com","","","","","","",)');
尝试完美的工作......
答案 2 :(得分:0)
使用PHP Laravel框架运行Microsoft SQL Server存储过程(MS SQL Server)。如果您尝试使用Laravel Model运行SP,则可以使用以下两种方法。
$submit = DB::select(" EXEC ReturnIdExample ?,?", array( $paramOne ,$paramTwo ) );
$submit = DB::select(" EXEC ReturnIdExample $paramOne,$paramTwo ");
如果要传递Varchar参数,请使用以下命令:
$submit = DB::select(" EXEC ReturnIdExample '$paramOne', '$paramTwo' ");
如果您只是传递INT或BIGINT的参数,则此方法应该起作用,并且您可以从SP获取返回值:
$submit = DB::select(" EXEC ReturnIdExample $paramOne,$paramTwo ");
我的原始答案:Laravel Model SQL Server:从存储过程获取输出参数:
Laravel Model SQL Server: Get Output Parameters from Stored Procedure