0

バインド パラメータで、各質問の回答を挿入しようとしています。No Answer質問に答えがない場合、データベースのその場所に単語を挿入するにはどうすればよいかという簡単な質問があります。これは、現時点では、答えが NULL である行が挿入されないためです。質問に少なくとも1つの回答がある場合にのみ挿入します

以下は試みです:

$results = $_POST['value'];
foreach($results as $id => $value) 
{
    $answer = $value;

    $quesid = $question_ids[$id];   

    if($answer = ''){
        $answer = 'No Answer';
    }

    foreach($value as $answer) 
    {
        $insertanswer->bind_param("is", $quesid, $answer);

        $insertanswer->execute();

        if ($insertanswer->errno) {
            // Handle query error here
            echo __LINE__.': '.$insertanswer->error;
            break 7;
        }
    }
}
4

3 に答える 3

1

=if条件で代入演算子()を使用しているように見えますが、比較演算子( ==)である必要があります

if($answer = ''){
        $answer = 'No Answer';
    }

する必要があります

if($answer == ''){
        $answer = 'No Answer';
    }

また

if(trim($answer) == '')

また

if(empty($answer)){

$question_ids[$id]また、それがintであることを確認したい場合は、

$quesid  = (int)$question_ids[$id];
于 2013-02-04T06:11:36.587 に答える
1

空では十分でないかどうかを確認するため、念のために null を確認する必要があります。

//Take notice of === (Identical operator)
    if($answer == '' || $answer === null){
            $answer = 'No Answer';
        }
于 2013-02-04T07:05:13.703 に答える
1

テキスト入力の場合はif($answer == '' || $answer === null){、ドロップダウン メニューからの場合は値を取得します。if($answer == ''){ //'' is whatever the value is for this option

于 2013-02-09T22:28:28.513 に答える