2011-07-26 22 views
0

ブール値の引数をとるストアドプロシージャを呼び出しています。真の値は自分のコードでは1として簡単に渡されますが、偽の値は空白になります。しかし、私のvar_dumpは私の値が実際にはfalseであることを示しています。var_dumpに空白として表示されているfalse値を渡す

$form[$i]['photo_op'] = isset($_POST['photo_op'][$array_i]) ? $_POST['photo_op'][$array_i] : false; 

私の$ _POSTののvar_dumpは、次のようになります。

["photo_op"]=> bool(false) ["gala"]=> bool(true) ["chairman"]=> bool(false) 

私は私の値を印刷するとき、それは私の「photo_op」と「委員長」フィールドに空の文字列を渡しているように見える。

foreach($form as $f){ 
    print "Photo OP: " . $f['photo_op'] . " | Gala: " . $f['gala'] . " | Chair: " . $f['chair']; 
} 

私の出力は次のようになります。 写真OP:|ガラ:1 |司会:

私の目標は、ストアドプロシージャに誤った値を渡すことです:

function insertAttendeeInfo($ind_id, $photo){ 
    $insert = dbStoredProc('sp_remove_attendee_information', $ind_id, $photo); 
    return; 
} 

任意のアイデア:

$final = insertAttendeeInfo($ind_id, $f['photo_op']); 

ストアドプロシージャは次のように見えますか?

ありがとうございます。

+0

だから?値に 'false'を入れて' print'します。明らかに空の文字列を得ました。問題は何ですか? – zerkms

+1

あなたのデータベースシステムと実際のDB呼び出しの様子については言及していません。 – Tomalak

+0

あなたは何を見たいですか?ブランクの「0」? yesの場合は、各変数の前に(int)を設定して出力します。$ f ['photo_op'] – silex

答えて

0

print関数を使用して変数を出力するとき(または変数を文字列に連結するとき)、その値は文字列に変換されます。ブール値falseは空の文字列に変換されます。変数の真の値を確認したい場合はprintの代わりにvar_dumpまたはvar_exportを使用してください。

+0

これは意味をなさない。しかし、ストアドプロシージャに偽の値を渡していた場合、偽の値を渡す適切な方法がありますか? – etm124

+0

あなたのデータベース層は、PHPブール値を同等のSQLに変換することを知っている必要があります。どのデータベース(MySQL?)とどのアクセス層(mysqli?PDO?Doctrine?)を使用していますか? –

関連する問題