我正在使用此查询输入前端编辑信息。 2 问题。首先,输入数字可以正常工作,但不会发布文本。其次,new_type1 和 new_type2 是复选框,不能正确发布。
$query = "DELETE p.* FROM #__bl_press as p WHERE p.match_id = ".$row->id;
$db->setQuery($query);
$db->query();
if(isset($_POST['new_source']) && count($_POST['new_source'])){
for ($i=0; $i< count($_POST['new_source']); $i++){
$new_event1 = $_POST['new_source'][$i];
$query = "INSERT INTO #__bl_press(n_source, n_title, n_link, match_id, type1, type2) VALUES(".$new_event1.",".$_POST['new_title'][$i].",".$_POST['new_link'][$i].",".$row->id.",".intval($_POST['new_type1'][$i]).",".intval($_POST['new_type2'][$i]).")";
$db->setQuery($query);
$db->query();
}
}
您需要在字符串值周围加上引号:
$query = "INSERT INTO #__bl_press(n_source,n_title,n_link,match_id,type1,type2)".
"VALUES('".$new_event1."','".$_POST['new_title'][$i]."','" . // etc
// ^ ^ ^ ^ ^
你也应该使用mysql_real_escape_string或参数化查询,以避免发布数据包含引号或反斜杠等字符时的 SQL 注入漏洞和运行时错误。另请参阅此问题以获取更多信息:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)