function smartInsert($array) { self::getColumns(); $collect = array(); self::$values = ''; foreach (self::$columns as $k => $v) { if (isset($array[$k])) { $v['value'] = $array[$k]; } else { if (!empty($v['default'])) { $v['value'] = $v['default']; } } if ($v['value'] === true) { $v['value'] = 1; } else { if ($v['value'] === false) { $v['value'] = 0; } } if (!preg_match("/^([A-Z]+)\\(([\\w\\W]*?)\\)\$/", $v['value'])) { $collect[] = "'" . addslashes($v['value']) . "'"; } else { $collect[] = $v['value']; } } self::$values = implode(', ', $collect); self::$sql = "INSERT `" . self::$table . "` VALUES (" . self::$values . "); "; self::query(self::$sql); }