《PHP實例:php中實現用數組嫵媚地生成要執行的sql語句》要點:
本文介紹了PHP實例:php中實現用數組嫵媚地生成要執行的sql語句,希望對您有用。如果有疑問,可以聯系我們。
會不會碰到這樣一種情況呢?每次獲取數據將數據和歷史版本都有一定的差別,然而用ThinkPHP的addAll()函數,卻會將已有的數據刪掉再重新寫入.這明顯不是我們想要的.但自己寫sql每次幾十個字段也是醉了.如何優雅而又輕松地實現sql的自動生成呢?于是有了下面這個辦法.PHP教程
/** * [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; }
當然,這個辦法還有很多可以斟酌的地方.能用,但不是最好的.園子的猿猿們你們有更好的辦法嗎?請告訴我吧!PHP教程
《PHP實例:php中實現用數組嫵媚地生成要執行的sql語句》是否對您有啟發,歡迎查看更多與《PHP實例:php中實現用數組嫵媚地生成要執行的sql語句》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9695.html