0

いくつかのセレクターを含むフォームを含むhtmlページがあります。

フォームは、jqueryajaxを使用してデータをphpページに送信するjs関数を介してGETによって処理されます。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 に答える