gpt4 book ai didi

php - 使用IN()函数的mysql UPDATE不适用于准备好的语句

转载 作者:行者123 更新时间:2023-11-29 19:01:06 25 4
gpt4 key购买 nike

因此,我从MySQL表中列出了许多行,并且您可以通过单击“ sumokejo”列中的按钮更新编号来选择每行旁边的复选框。它工作正常,但仅适用于第一行,它应更改所有选定的行,但无论选择哪种顺序,它都仅适用于第一行。

$pasirinko = implode(',', $_POST['checkbox']);
$susimokejo= 0;

$sumokejo1 = $conn->prepare("UPDATE mokiniai SET sumokejo=? WHERE id IN(?)");
if ($sumokejo1 === false) {
trigger_error($this->mysqli->error, E_USER_ERROR);
}
$sumokejo1->bind_param("is", $susimokejo, $pasirinko);
if ($sumokejo1->execute()) {
echo $pasirinko;
//echo '<meta http-equiv="refresh" content="0">';
?>
<?php
}
else {
echo 'something is not right';
}


echo $pasirinko仅用于测试,它可以正确显示一串选定行的ID,例如:18、16、19。所以我想剩下的只有 IN()函数。
我在MariaDB上使用xampp可能是个问题?我应该安装纯MySQL吗?

谢谢你的帮助!

最佳答案

对于任何想知道我已经通过使用for循环而不是IN()来解决此问题的人
看起来像这样:

$pasirinko = $_POST['checkbox']; // my array of IDs
$susimokejo= 0;

$sumokejo = $conn->prepare("UPDATE mokiniai SET sumokejo=? WHERE id = ?");
for ($i = 0; $i<count($pasirinko); $i++) {
$sumokejo->bind_param("is", $susimokejo, $pasirinko[$i]);
$sumokejo->execute();
}
echo '<meta http-equiv="refresh" content="0">';

$sumokejo->close();

关于php - 使用IN()函数的mysql UPDATE不适用于准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43880616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com