我正在使用数据库中的值填充多个select表单。我想要做的是根据我提供的数据选择一些值。我的代码有语法错误。
这是我的代码:
<?php
$des_pos_id = $_POST['des_pos'];
$test_tags = $_POST['test_tag_arr'];
$test_tag=explode(',',$test_tags);
$sql4 = "SELECT _id, score_type from test_category where sub_code='$des_pos_id'";
$sel4 = mysqli_query($connect,$sql4);
while($row4 = mysqli_fetch_assoc($sel4)){
$option1 .= '<option value = "'.$row4['_id'].'"'echo in_array($row4['_id'], $test_tag) ? 'selected="true"' : null;'>'.$row4['score_type'].'</option>';
}
$output = "<select name='test_tags[]' id='test_tags[]' multiple>";
$output .= $option1;
$output .= '</select> ';
echo $output;
exit;
?>以下是错误消息:
语法错误,/Applications/XAMPP/xamppfiles/htdocs/temp/esco-quiz/controller/script_controller.php中意外的“回波”(T_ECHO)
发布于 2014-06-05 02:52:41
正如戈登·林诺夫所言
注意:因为Echo是一个语言构造,而不是一个函数,所以不能使用变量函数调用它。手册
回波返回任何东西,所以您不能内联地使用它,就像在使用从.$row4['_id'].'"'echo in_array($row4['_id'],中删除回波一样。
您的代码容易受到sql注入的影响.使用mysqli扩展并不意味着您是安全的sql注入,您需要正确地转义/清理所有请求
所以要么使用mysqli_real_escape_string,要么使用准备好的语句(更好)
发布于 2014-06-05 02:39:25
我想问题是这条线:
$option1 .= '<option value = "'.$row4['_id'].'"'echo in_array($value4['_id'], $test_tag) ? 'selected="true"' : null;'>'.$row4['score_type'].'</option>';但我不知道你到底想要什么。也许:
$option1 .= '<option value = "'.$row4['_id'].'"';
echo in_array($value4['_id'], $test_tag) ? 'selected="true"' : null;'>'.$row4['score_type'].'</option>';https://stackoverflow.com/questions/24050723
复制相似问题