gpt4 book ai didi

php - 在 medoo 中处理错误的最佳方法

转载 作者:行者123 更新时间:2023-11-30 23:44:56 24 4
gpt4 key购买 nike

处理 medoo 插入查询或其他查询中的错误的最佳方法

所有查询中的代码都正确。例如,当插入多条记录时,insert()方法输出的是一个数组。

1:

try{

$db->pdo->beginTransaction();

$deletes=$db->delete("table",array("c_id"=>$id));
if($deletes===false || $deletes===null){
throw new Exception();
}

$res=$db->insert("tm_channel_admins",$insertsArray);
if($res===false || $res===null){
throw new Exception();
}


$db->pdo->commit();

}catch (Exception $e){
$db->pdo->rollBack();
exit("Error");
}

2:

$res=$db->insert("tm_channel_admins",$insertsArray);
if($db->error()[0]!==0){
throw new Exception();
}

什么是真实安全的?

最佳答案

第二个更安全。第一个仍然有效,但会更加模糊,因为它返回 PDO 语句对象。第二种更可靠,因为它使用了 PDO 的错误处理功能。

public function error()
{
return $this->statement ? $this->statement->errorInfo() : null;
}

https://github.com/catfan/Medoo/blob/6798b9698ee60ee98a4d342485904322922b2b3b/src/Medoo.php#L1469-L1472

http://php.net/manual/en/pdostatement.errorinfo.php

截至目前的 medoo 版本 (v1.4.5),查询将只返回 false:

  1. 使用开发者模式时
  2. 或者如果 PDO->prepare 返回 false/null(不太可靠)

我个人不喜欢 Medoo,因为它的错误处理很糟糕。我喜欢使用其他工具。

关于php - 在 medoo 中处理错误的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43465452/

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