0

在我的绑定参数中,我试图为每个问题插入答案。我有一个简单的问题,问如果一个问题没有答案,我如何No Answer在数据库中插入这个词?这是因为目前它不会在答案为 NULL 的地方插入任何行。仅当问题至少有一个答案时才会插入

下面是尝试:

$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 回答