【问题标题】:How to turn `''` into `Null` in PHP to send variables to the sql store procedure?如何在 PHP 中将 `''` 转换为 `Null` 以将变量发送到 sql 存储过程?
【发布时间】:2018-03-22 09:09:30
【问题描述】:

我正在使用 Laravel 5.2 和 SQL Server。我有一个搜索客户的存储程序。当我使用 Null 值运行时,它返回 0 行。它应该返回所有数据。 下面是我在控制器中运行存储过程的代码:

$name = $request['name'];
$email = $request['email'];
$lower_age = $request['lower_age'];
$upper_age = $request['upper_age'];
$gender = $request['gender'];
$maritalstatus = $request['maritalstatus'];

$search = DB::select("EXEC dbo.search '".$name."', 
    '".$email."',
    '".$lower_age."',
    '".$upper_age."',
    '".$gender."',
    '".$maritalstatus."'"
);

这是我 print_r 我的存储过程的时候:

EXEC dbo.search '', '', '', '', '', ''

我需要将'' 变成NULL,如下所示:

EXEC dbo.search NULL,NULL,NULL,NULL,NULL,NULL

你知道吗?

【问题讨论】:

  • 请考虑使用参数来构建您的查询,这可能对 sql-injection 开放

标签: sql-server laravel stored-procedures laravel-5.2


【解决方案1】:
".($lower_age === '' ? 'null' : "'$lower_age'").",

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 2018-09-24
    • 2020-10-12
    • 2013-10-10
    • 2015-07-05
    • 1970-01-01
    相关资源
    最近更新 更多