从数据库语法错误填充多个select(select = true)表单
我使用数据库中的值填充多选表单。我想要做的是我想要根据我提供的数据选择一些值。我有我的代码从数据库语法错误填充多个select(select = true)表单
这里的语法错误是我的代码:
<?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;
?>
这里是错误消息:
语法错误,意想不到的 '回响'(T_ECHO)/应用程序/ XAMPP/xamppfiles/htdocs中/温度/ ESCO-测验/控制器/ script_controller.php
正如戈登·利诺夫告诉
注:由于回声是一个语言结构而非函数,它不能被变量函数调用。 Manual
回声doent返回任何东西,所以你cannt像你正在使用刚刚从.$row4['_id'].'"'echo in_array($row4['_id'],
这里
去除回声和你的代码是容易受到SQL注入直列使用它...并使用mysqli扩展的心不是意味着你您需要正确逃生/安全形式的SQL注入消毒所有请求
所以无论使用mysqli_real_escape_string
或预处理语句 (更好)
请关注主要问题。 –
@ChristianBurgos因为你告诉我必须说的问题是你的代码是可怕的,你不知道如何调试错误,以及如何PHP的作品 –
我认为这个问题是这一行:
$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>';
@GordonLinoff包括它。对不起,关于 –