0

我有一个包含几个选择器的表单的 html 页面。

表单由 GET 通过 js 函数处理,该函数使用 jquery ajax 将数据发送到 php 页面。php 构建 TSQL 查询以选择信息。

如果您没有在选择器中选择任何选项,我的查询中需要一个 NULL。在我尝试过的 js 和 php 页面中:

if($variableFromSelector1 ==’-’){ $variableFromSelector1 =’NULL’;}
if($variableFromSelector2 ==’-’){ $variableFromSelector2 =’NULL’;}

(- 表示选择器中未选择任何内容)

但这会用与 NULL 不同的“NULL”填充查询

以下是查询的方式:

   function showData($variableFromSelector1,$variableFromSelector2)
    {  

            $strSqlSelect = "EXECUTE mybd.dbo.myprocedure 
            @var1='".$variableFromSelector1."',
            @var2='".$variableFromSelector2."'";
    }

如果在选择器中没有选择任何选项,我如何获得带有 NULL 的查询?

非常感谢

4

2 回答 2

0

NULL当您将其发送到您的存储过程时,您正在引用。尝试以下操作:

$strSqlSelect = "EXECUTE mybd.dbo.myprocedure 
@var1=" . ($variableFromSelector1 == '-' ? 'NULL' : "'{variableFromSelector1}'" . ",
@var2=" . ($variableFromSelector2 == '-' ? 'NULL' : "'{variableFromSelector2}'" . ";
于 2012-04-26T16:01:55.720 回答
0
if($variableFromSelector1 ==’-’){ $variableFromSelector1 = NULL;}
if($variableFromSelector2 ==’-’){ $variableFromSelector2 = NULL;}

function showData($variableFromSelector1,$variableFromSelector2)
{  
  $var1 = is_null($variableFromSelector1) ? 'NULL' : "'{$variableFromSelector1}'";
  $var2 = is_null($variableFromSelector2) ? 'NULL' : "'{$variableFromSelector2}'";

  $strSqlSelect = "EXECUTE mybd.dbo.myprocedure 
  @var1=".$var1.",
  @var2=".$var2;
}

还要记得清理所有输入以防止 SQL 注入。

于 2012-04-26T16:02:38.587 回答