如果value为null,如何在数据库中插入字符串

时间:2013-02-04 06:08:02

标签: php mysqli

在我的绑定参数中,我试图为每个问题插入答案。我有一个简单的问题,即如果一个问题没有答案,我怎么能在数据库中插入单词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;
        }
    }
}

3 个答案:

答案 0 :(得分:1)

看起来你正在使用赋值运算符(=)如果条件我认为它应该是比较运算符(==

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];

答案 1 :(得分:1)

检查它是否为空是否足够,你应该检查是否为空!

//Take notice of === (Identical operator)
    if($answer == '' || $answer === null){
            $answer = 'No Answer';
        }

答案 2 :(得分:1)

如果是文本输入,那么if($answer == '' || $answer === null){,如果我从下拉菜单中输入,则返回值:if($answer == ''){ //'' is whatever the value is for this option