Cet article présente principalement les instructions SQL à exécuter pour réaliser la génération de tableaux en php. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Rencontrerez-vous une telle situation ? Chaque fois que les données sont obtenues, il y aura une certaine différence entre les données et la version historique. Cependant, en utilisant la fonction addAll() de ThinkPHP, les données existantes seront supprimées et réécrites. Ce n’est évidemment pas ce que nous souhaitons. Mais écrire SQL par moi-même avec des dizaines de champs à chaque fois est également ennuyeux. Comment réaliser la génération automatique de SQL de manière élégante et simple ? Voici donc la méthode ci-dessous.
/** * [array_to_sql 根据数组key和value拼接成需要的sql] * @param [type] $array [key, value结构数组] * @param string $type [sql类型insert,update] * @param array $exclude [排除的字段] * @return [string] [返回拼接好的sql] */ function array_to_sql($array, $type='insert', $exclude = array()){ $sql = ''; if(count($array) > 0){ foreach ($exclude as $exkey) { unset($array[$exkey]);//剔除不要的key } if('insert' == $type){ $keys = array_keys($array); $values = array_values($array); $col = implode("`, `", $keys); $val = implode("', '", $values); $sql = "(`$col`) values('$val')"; }else if('update' == $type){ $tempsql = ''; $temparr = array(); foreach ($array as $key => $value) { $tempsql = "'$key' = '$value'"; $temparr[] = $tempsql; } $sql = implode(",", $temparr); } } return $sql; }
Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Sélection de requêtes et de zones de liste implémentées par PHP+Mysql+jQuery
PHP réussi Empêcher le site Web d'être attaqué en interdisant les accès IP fréquents
PHP empêche le site Web d'être attaqué en interdisant les accès IP fréquents
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!