thinkphp3.2.3批量執行sql語句(帶事務)


/**
* 事務封裝方法
* @access public 將此方法放入框架model.class.php中
* @param array $sqls 要執行的sql數組或語句
* @param array $vals sql語句中要替換的值
* @return boolean
*/
public function transExecuteSql($sqls)
{
  $this->startTrans();
  if(is_array($sqls))
{
foreach($sqls as $k => $sql)
{
  $result=$this->db->execute($sql);
  if(!$result)
  {
    $this->rollBack();
    return false;
  }
}
}else{
  $result=$this->db->execute($sqls);
  if(!$result)
  {
    $this->rollBack();
    return false;
  }
}
  $this->commit();
  return true;
}

使用:

$sqlArray = array();
$valArray = array();
$sqlCoverPicture = 'insert into picture(id,objid,objtype,path) values(?,?,?,?)';
$valCoverPicture = array(1,2,,3,4);
array_push($sqlArray, $sqlCoverPicture);
array_push($valArray, $valCoverPicture);
D()->transExecuteSql($sqlArray, $valArray)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM