2013-02-04 30 views
0

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

回答

1

如果它是一个文本输入,然后if($answer == '' || $answer === null){,如果我从下拉菜单,然后retrive值:if($answer == ''){ //'' is whatever the value is for this option

+0

好吧,再次欺骗rep点:) –

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

这似乎仍然没有插入任何记录时,我有没有答案的问题 – Manixman

+0

应该是'if($ empty {$ answer))'?试过这个,但没有工作 – Manixman

+0

对不起,它应该是'空($回答)'或'修剪($回答)=='''再次赦免我错了,这只是一个错字 –

1

检查,如果其空是不够的,你应该检查null只是incase!

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