![](/img/trans.png)
[英]OOP PHP - Returning $connection from functions (please see code)
[英]PHP OOP - Returning lastInsertId from two functions
我是OOP的新手,並且對函數返回具有相同變量名的東西有疑問,例如:
class CompanyManager
{
function createCompany()
{
// PDO - create the company
return $db->lastInsertId();
}
function createCompanyContact()
{
// PDO - create the contact
return $db->lastInsertId();
}
}
問題是我先打電話給createCompany,獲取它的ID並在創建聯系人時使用它。 但是,在createCompanyContact中,如果查詢由於任何原因而失敗,它將返回companyID,因為該ID是先前從createCompany中的數據庫返回的值,因此仍被設置。 我該如何解決?
我曾考慮過為聯系人創建一個單獨的類,但是如果在一個類中我們只能使用一次lastInsertID(因為該值將滲入其中的任何其他函數),那么肯定會有所限制嗎?
既然您已經知道了問題,那么為什么不繼續進行操作,並在第二個函數上加一個條件,如果查詢確實插入了row,則僅返回lastInsertId()
。 例如
function createCompanyContact()
{
// execute the statement here
if($sth->rowCount()>0)
return $db->lastInsertId();
else
return NULL;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.