php-自動生成sql語句


前兩天學習到的知識,挺有用的,因此這里做個分享

function AutoCreateSql($tab,$dataarr,$mode='insert',$where=' 1 and 1 limit 1'){

  //形如  insert into test(t1,t2) values('v1','v2')    update test set t1='v1',t2='v2' where id = 1   

 //delete 語句的參數 應該 是 表  where 條件   所以可以另寫一個函數 

  //因為查詢語句樣式較多  怎樣寫還在思考中 若是有朋友已經會了請指點下小弟     言而總之 就是 沒寫出來,目前只有這兩種語句

//對 $dataarr 數組的說明  這是構造的一個特殊的數組  其鍵值就是表中的字段名  其元素值就是表中的字段對應的值

    if(!is_arr($data_arr)){

          return false;

    }

      if($mode == 'update'){

        $sql = 'update '.$tab.' set ';

                           foreach($dataarr as $k=>$v){

          $sql.=$k.'='. ".".$v".".',';

        }

          $sql = rtrim($sql,','); //去掉最右邊的,

       return $sql;

     }

    $sql ='insert into '.$tab;

    $ziduan = implode(",",array_keys($dataarr));//取得所有的鍵值並以,拼成字符串---這樣做符合insert的寫法

              $sql .= '( '.$ziduan.' ) ';

    $ziduanval = implode("','",array_values($dataarr));//取得所有的鍵值並以','拼成字符串---這樣做符合insert的寫法

    $sql .= ' values ( \' '.$ziduanval.' \') ';

    return $sql

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM