Exemple #1
0
 /**
  * 执行插入数据操作
  *
  * @param  <string> $table 数据库表名称
  * @param  <array|stdClass> $data  待更新的数据
  * @param  <array> $fields  数据库字段,默认为 null。 为空时取 $data的 keys
  * @return 成功 true; 失败 false
  */
 public static function insert($table, $data, $fields = null)
 {
     if ($fields == null) {
         //考虑到多条插入数据的可能性
         foreach ($data as $v) {
             if (is_array($v)) {
                 $fields = array_keys($v);
             } elseif (is_object($v)) {
                 foreach ($v as $k2 => $v2) {
                     $fields[] = $k2;
                 }
             } elseif (is_array($data)) {
                 $fields = array_keys($data);
             } elseif (is_object($data)) {
                 foreach ($data as $k2 => $v2) {
                     $fields[] = $k2;
                 }
             }
             break;
         }
     }
     $_fields = '`' . implode('`, `', $fields) . '`';
     $_data = self::formatInsertData($data);
     self::$isInsertId = true;
     return self::query("INSERT INTO `{$table}` ({$_fields}) VALUES {$_data}");
 }