我有一个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获取查询?
非常感谢
答案 0 :(得分:0)
当您将NULL
发送到存储过程时,它会引用它。请尝试以下方法:
$strSqlSelect = "EXECUTE mybd.dbo.myprocedure
@var1=" . ($variableFromSelector1 == '-' ? 'NULL' : "'{variableFromSelector1}'" . ",
@var2=" . ($variableFromSelector2 == '-' ? 'NULL' : "'{variableFromSelector2}'" . ";
答案 1 :(得分: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注入。