prepare("UPDATE courses-6ren">
gpt4 book ai didi

php - 如何从 foreach 中执行的准备(更新)语句中获取行数

转载 作者:行者123 更新时间:2023-11-29 04:36:56 24 4
gpt4 key购买 nike

想象一下这段代码:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($stmt = $conn->prepare("UPDATE courses SET courses_price = ? WHERE id_courses = ?")) {
foreach ($_POST as $id => $price) {
$stmt->bind_param('ii', $price, $id);
$stmt->execute();
}
$stmt->store_result();
if ($stmt->num_rows === 0) {
echo 'not affected';
} else {
echo 'affected';
}

}
}

为什么 num_rows 总是返回 0?是的,我知道它只计算受影响的行。总是有一行受到影响。

是不是foreach循环有问题?或者是否有不同的方法来获取受影响的行数?

最佳答案

What? It was SO simple? ... Thank you, can you put it as answer? I will accept it – kikinet

根据 OP 的要求:

num_rows() 用于 SELECT,而不是 UPDATE。

您要使用的是affected_rows()

引用资料:

来自 affected_rows() 的手册:

面向对象风格
int $mysqli->affected_rows;

程序风格
int mysqli_affected_rows (mysqli $link)

关于php - 如何从 foreach 中执行的准备(更新)语句中获取行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39083219/

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