簡體   English   中英

PHP OOP-從兩個函數返回lastInsertId

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM