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