php - PHP mysqli 查询 foreach
问题描述
从 mysql 更新到 MySQLi 后,这个小脚本不会更新数据库。
include $dirlib . 'dbo.php';
if(!empty($_GET['list_vid'])) {
foreach ($_GET['list_vid'] as $position => $item) {
$query = mysqli_query($sql[] = "UPDATE $dbmov SET sort = '$position' WHERE id = $item");
$result = mysqli_query($GLOBALS["___mysqli_ston"], $query);
err('排序视频'));
解决方案
改为运行准备好的语句,您可以多次执行该语句。它更简单,更安全。
您当前的问题是您第一次执行了一个数组,而第二次执行了一个对象 - 不太像那样工作。
$query = "UPDATE $dbmov SET sort = ? WHERE id = ?";
$stmt = $GLOBALS["___mysqli_ston"]->prepare($query);
$stmt->bind_param("ss", $position, $item);
foreach ($_GET['list_vid'] as $position => $item) {
$stmt->execute();
}
$stmt->close();
推荐阅读
- javascript - “无法将 axe-core 注入其中一个 iframe!” AX 可访问性错误
- docusignapi - docusign RecipientSignatureInformation 允许使用哪些字体样式
- php - php/mysql : 成员得分最高的前 10 名
- progressive-web-apps - 什么是无头 PWA。PWA 和无头 PWA 有什么区别?
- python - 从 urllib 中提取特定数据
- reactjs - 在反应js中获取数据
- python - 如何在 argparse 的位置参数中继承顶级选项
- angular - 可观察的结果在模板中不起作用?
- css - 在 React 应用程序中将元素定位在屏幕的垂直中心
- python - 如何验证 pydantic 模型的多个领域