如何解决循环mysqli更新,同时在while循环中变量增加1
我正在尝试循环这段代码,因为它将动态生成。它从mysql获取行数并循环多次。 POST来自ajax,它也已循环播放,并且可以完美运行。在php部分中,我不确定为什么它不起作用。我已经尝试了很多不同的循环变体。
$queryEle = "SELECT * FROM featureSheetContent WHERE `user_id` = '$userID' AND `feature_id` = '$featureID'";
$resultEle = mysqli_query($connect,$queryEle);
$rowEle = mysqli_num_rows($resultEle);
$i = 1;
while ($i < $rowEle) {
$eleID.$i = $_POST['eleID'.$i];
$eleID .= $eleID.$i;
$resizeWidth.$i = $_POST['resizeWidth'.$i];
$resizeWidth .= $eleID.$i;
$resizeHeight.$i = $_POST['resizeHeight'.$i];
$resizeHeight .= $eleID.$i;
$UploadMain = $connect->prepare("UPDATE featureSheetContent SET `ele_width` = ?,`ele_height` = ? WHERE id = ?");
$UploadMain->bind_param('sss',$resizeWidth,$resizeHeight,$eleID);
$UploadMain->execute();
$i++;
}
未循环的代码有效:
$eleID1 = $_POST['eleID1'];
$resizeWidth1 = $_POST['resizeWidth1'];
$resizeHeight1 = $_POST['resizeHeight1'];
$eleID2 = $_POST['eleID2'];
$resizeWidth2 = $_POST['resizeWidth2'];
$resizeHeight2 = $_POST['resizeHeight2'];
$UploadMain = $connect->prepare("UPDATE featureSheetContent SET `ele_width` = ?,`ele_height` = ? WHERE id = ?");
$UploadMain->bind_param('sss',$resizeWidth1,$resizeHeight1,$eleID1);
$UploadMain->execute();
$UploadMain = $connect->prepare("UPDATE featureSheetContent SET `ele_width` = ?,$resizeWidth2,$resizeHeight2,$eleID2);
$UploadMain->execute();
解决方法
您的变量变量语法错误;正确的语法是${"eleID".$i}
。但是,无需在循环中每次使用不同的变量。将UPDATE
查询绑定到一组特定的变量,然后从POST
变量中重新分配这些变量。
$eleID = $resizeWidth = $resizeHeight = null; // Create the variables before binding
$UploadMain = $connect->prepare("UPDATE featureSheetContent SET `ele_width` = ?,`ele_height` = ? WHERE id = ?");
$UploadMain->bind_param('sss',$resizeWidth,$resizeHeight,$eleID);
for ($i = 1; $i <= $rowEle; $i++) {
$eleID = $_POST['eleID'.$i];
$resizeWidth = $_POST['resizeWidth'.$i];
$resizeHeight = $_POST['resizeHeight'.$i];
$UploadMain->execute();
}
顺便说一句,您的UPDATE
查询将为任何用户更新一行,而不仅仅是user_id = '$userID'
。那是故意的吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。