如何解决准备语句数组爆炸
我是初学者,我正在尝试使用准备好的语句来编辑页面/表单,但我不知道如何使用准备好的语句爆炸。我想在每次输入中获取数组数据中的数据。
为此<input type="text" name="adimpdate[]" id="adimpdate[]" value="<?PHP echo $row568->adimpdate; ?>" placeholder="enter">
<?PHP
$id= $_GET['id'];
$sql011 = $MysqLi->prepare("SELECT * FROM detail WHERE id = ? ");
$sql011->bind_param("i",$id);
$sql011->execute();
$res658=$sql011->get_result();
?>
<?PHP
while($row658=$res658->fetch_object()){
?>
<table>
<tr >
<td id="imp" class="wrap">
<ul class="my_Box">
<input type="text" name="adimpdate[]" id="adimpdate[]" value="<?PHP echo $row568->adimpdate; ?>" placeholder="enter" required>
<button id="impbtn" type="button" name="add" onclick="add_more()">Add</button>
</ul>
<input type="hidden" id="Box_count" value="1">
</table>
<input id="uplbtn" type="submit" name="upload_all" value="UPLOAD">
</form>
</div>
</div>
</div>
我使用 Jquery 添加更多输入并使用 implode 将数据保存在数据库中
<script>
/**(1)*****Important Dates******** */
function add_more(){
var Box_count=jQuery("#Box_count").val();
Box_count++;
jQuery("#Box_count").val(Box_count);
jQuery(".wrap").append('<ul class="my_Box" id="Box_loop_'+Box_count+'"><input type="text" name="adimpdate[]" id="adimpdate[]" placeholder="example- Application Begin : 22/01/2021"><button class="remove_field" type="button" onclick=remove_more("'+Box_count+'")>Remove</button></ul>');
}
function remove_more(Box_count){
jQuery("#Box_loop_"+Box_count).remove();
var Box_count=jQuery("#Box_count").val();
Box_count--;
jQuery("#Box_count").val(Box_count);
}
</script>
<?PHP
}
?>
解决方法
准备好的语句占位符的工作方式有点像 php 变量插值,因此它不会替换任何 SQL。
您仍然必须使用 SQL IN()
函数来按多个值查询或定义一个准备好的语句来按 id 查找并为数组中的每个条目执行它。
$ids = [1,2,3];
$sql011 = $mysqli->prepare("SELECT * FROM detail WHERE id = ? ");
foreach ($ids as $id) {
$sql011->bind_param("i",$id);
$sql011->execute();
$res658=$sql011->get_result();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。