Home > Article > Backend Development > Implementing array generation in php to generate sql statements to be executed
This article mainly introduces the sql statements to be executed to implement array generation in php. Interested friends can refer to it. I hope it will be helpful to everyone.
Will you encounter such a situation? Every time the data is obtained, there will be a certain difference between the data and the historical version. However, using ThinkPHP's addAll() function, the existing data will be deleted and rewritten. This is obviously not what we want. But writing sql by myself with dozens of fields every time is also boring. How to achieve automatic generation of sql elegantly and easily? So here is the method below.
/** * [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; }
Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.
Related recommendations:
PHP Mysql jQuery implementation of query and list box selection
PHP through ban IP Frequent visits prevent the website from being attacked
PHP prevents the website from being attacked by prohibiting frequent IP access
The above is the detailed content of Implementing array generation in php to generate sql statements to be executed. For more information, please follow other related articles on the PHP Chinese website!