64 lines
1.2 KiB
PHP
64 lines
1.2 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: linfan
|
|
* Date: 2018/11/2
|
|
* Time: 14:38
|
|
*/
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
if ( ! function_exists('where_in'))
|
|
{
|
|
function where_in($key, $value = array())
|
|
{
|
|
if($key && $value)
|
|
{
|
|
return "{$key} IN (".implode(',', $value).")";
|
|
}
|
|
|
|
return '';
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 事务处理sql
|
|
* @param $sql_array
|
|
* @return bool
|
|
*/
|
|
if ( ! function_exists('trans_sql'))
|
|
{
|
|
function trans_sql($sql_array)
|
|
{
|
|
$bool = true;
|
|
|
|
$CI = &get_instance();
|
|
$CI->db->trans_strict(false);
|
|
$CI->db->trans_begin();
|
|
|
|
foreach ($sql_array as $sql)
|
|
{
|
|
$CI->db->query($sql);
|
|
|
|
if (!$CI->db->affected_rows())
|
|
{
|
|
$bool = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ($bool === false)
|
|
{
|
|
$CI->db->trans_rollback();
|
|
$str = implode(PHP_EOL, $sql_array);
|
|
|
|
debug_log($str, "trans_sql.log");
|
|
}
|
|
else
|
|
{
|
|
$CI->db->trans_commit();
|
|
}
|
|
|
|
return $bool;
|
|
}
|
|
} |