2012-04-26 22 views
0

こんにちは私はnull値について質問があります。null値SQL ServerおよびPHP

基本的に私は変数の束を持っており、最後に値を追加したいと思いますが、これらの値のいくつかはNULLにする必要があります。

たとえば、値が設定されていない場合、私はデータベースに挿入するときに何も入れないように変数の値をnullに設定したいと思います。

$sql = "INSERT into specified table the values (?, ?,?)": 
$params = "$param1, $NULLVALUEparam2, $param3); 

はとても基本的に同じクエリが毎回実行されますが、私はNULLとしてこれらを追加するにはどうすればよいのフォームからいくつかの入力は、空のままにすることが許可されていますか?

back story私は登録ページを作成していますが、いくつかの情報は必要ありません。値はメソッドPOSTを介してこのアクションページに送信され、そこでデータベースに追加されます。

私はこの間違いを起こしていますか?よりよい方法はありますか?前もって感謝します。

+0

投稿したコードはうまくいかないとは思っていますが、それをどのように使っているのかは不明です。試したコードのサンプルを提供できますか?一般的に、パラメータをマーシャリングし、レスポンスを得なかった場合はnullを挿入するだけです。 –

+0

'$ params'を配列にするべきではありませんか? –

+0

それは私が現時点で理論を研究している瞬間にコードを持っていない配列になります。私の質問はNULL値を挿入することができますし、NULLのようにパラメータの値を設定することはできますか? –

答えて

1

あなたは行の特定の列にNULLを挿入したい場合は、キーワードNULLを使用

INSERT INTO yourtable (id, created_at, string, string1) 
VALUES (NEWID(), GETDATE(), 'your string you have', NULL) 

これは、行を挿入し、NULLとしてそれを配置します。

特定の列の値がない場合は、挿入する必要はなく、スキップするだけです。

INSERT INTO yourtable (id, created_at, string) 
VALUES (NEWID(), GETDATE(), 'your string you have') 

これは、行を追加し、string1列をNULLのままにします。しかし、もちろん、あなたの列は両方の状況でNULL値を許可する必要があります。

あなたのコードでは列をスキップするか、後に実行するSQL文を作成するときにNULLを文字列として書き込む必要があります。

関連する問題