gpt4 book ai didi

php - mysqli - 如何在 0 个受影响的行上返回 false

转载 作者:行者123 更新时间:2023-11-29 12:06:53 26 4
gpt4 key购买 nike

即使项目未被删除,deleteItem 方法也会返回 true。在这种特殊情况下,如何使用 $mysqli->affected_rows 来检查数据库是否没有更改并返回 false?

public function deleteItem($item_id)
{
$userItemIDS = array();

$userItemIDS = $this->helperClass->userItemIDS();

$q = $this->db->mysqli->prepare("DELETE i, s FROM items i
LEFT JOIN save_list s
ON i.id = s.item_id
WHERE i.id = ? AND s.item_id = ?
AND
NOT EXISTS (SELECT id FROM pending_wins WHERE item_id = ?)
AND
NOT EXISTS (SELECT id FROM bids WHERE item_id = ?)");

if( $q != false && in_array($item_id, $userItemIDS) )
{
$q->bind_param("iiii", $item_id, $item_id, $item_id, $item_id);
$q->execute();
$q->close();
return true;
}
return false;
}

最佳答案

事情本来就是这样的。

public function deleteItem($item_id)
{
$userItemIDS = $this->helperClass->userItemIDS();
if( !in_array($item_id, $userItemIDS) )
{
return FALSE;
}
$sql = "...";
$q = $this->db->mysqli->prepare($sql);
$q->bind_param("iiii", $item_id, $item_id, $item_id, $item_id);
$q->execute();
return (bool)$this->db->mysqli->affected_rows;
}

关于php - mysqli - 如何在 0 个受影响的行上返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325788/

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