茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    PHP實現(xiàn)的通過參數(shù)生成MYSQL語句類完整實例
    來源:易賢網(wǎng) 閱讀:1226 次 日期:2016-08-26 15:56:11
    溫馨提示:易賢網(wǎng)小編為您整理了“PHP實現(xiàn)的通過參數(shù)生成MYSQL語句類完整實例”,方便廣大網(wǎng)友查閱!

    本文實例講述了PHP實現(xiàn)的通過參數(shù)生成MYSQL語句類。分享給大家供大家參考,具體如下:

    這個類可以通過指定的表和字段參數(shù)創(chuàng)建SELECT ,INSERT , UPDATE 和 DELETE 語句。

    這個類可以創(chuàng)建SQL語句的WHERE條件,像LIKE的查詢語句,使用LEFT JOIN和ORDER 語句

    <?php

     /* *******************************************************************

    Example file

    This example shows how to use the MyLibSQLGen class

    The example is based on the following MySQL table:

    CREATE TABLE customer (

     id int(10) unsigned NOT NULL auto_increment,

     name varchar(60) NOT NULL default '',

     address varchar(60) NOT NULL default '',

     city varchar(60) NOT NULL default '',

     PRIMARY KEY (cust_id)

    ) TYPE=MyISAM;

    ******************************************************************* */

     require_once ( " class_mylib_SQLGen-1.0.php " );

     $fields = Array ( " name " , " address " , " city " );

     $values = Array ( " Fadjar " , " Resultmang Raya Street " , " Jakarta " );

     $tables = Array ( " customer " );

     echo  " <b>Result Generate Insert</b><br> " ;

     $object = new MyLibSQLGen();

     $object -> clear_all_assign(); // to refresh all property but it no need when first time execute 

     $object -> setFields( $fields );

     $object -> setValues( $values );

     $object -> setTables( $tables );

     if ( ! $object -> getInsertSQL()){ echo  $object -> Error; exit ;}

     else { $sql = $object -> Result; echo  $sql . " <br> " ;}

     echo  " <b>Result Generate Update</b><br> " ;

     $fields = Array ( " name " , " address " , " city " );

     $values = Array ( " Fadjar " , " Resultmang Raya Street " , " Jakarta " );

     $tables = Array ( " customer " );

     $id = 1 ;

     $conditions [ 0 ][ " condition " ] = " id='$id' " ;

     $conditions [ 0 ][ " connection " ] = "" ;

     $object -> clear_all_assign();

     $object -> setFields( $fields );

     $object -> setValues( $values );

     $object -> setTables( $tables );

     $object -> setConditions( $conditions );

     if ( ! $object -> getUpdateSQL()){ echo  $object -> Error; exit ;}

     else { $sql = $object -> Result; echo  $sql . " <br> " ;}

     echo  " <b>Result Generate Delete</b><br> " ;

     $tables = Array ( " customer " );

     $conditions [ 0 ][ " condition " ] = " id='1' " ;

     $conditions [ 0 ][ " connection " ] = " OR " ;

     $conditions [ 1 ][ " condition " ] = " id='2' " ;

     $conditions [ 1 ][ " connection " ] = " OR " ;

     $conditions [ 2 ][ " condition " ] = " id='4' " ;

     $conditions [ 2 ][ " connection " ] = "" ;

     $object -> clear_all_assign();

     $object -> setTables( $tables );

     $object -> setConditions( $conditions );

     if ( ! $object -> getDeleteSQL()){ echo  $object -> Error; exit ;}

     else { $sql = $object -> Result; echo  $sql . " <br> " ;}

     echo  " <b>Result Generate List</b><br> " ;

     $fields = Array ( " id " , " name " , " address " , " city " );

     $tables = Array ( " customer " );

     $id = 1 ;

     $conditions [ 0 ][ " condition " ] = " id='$id' " ;

     $conditions [ 0 ][ " connection " ] = "" ;

     $object -> clear_all_assign();

     $object -> setFields( $fields );

     $object -> setTables( $tables );

     $object -> setConditions( $conditions );

     if ( ! $object -> getQuerySQL()){ echo  $object -> Error; exit ;}

     else { $sql = $object -> Result; echo  $sql . " <br> " ;}

     echo  " <b>Result Generate List with search on all fields</b><br> " ;

     $fields = Array ( " id " , " name " , " address " , " city " );

     $tables = Array ( " customer " );

     $id = 1 ;

     $search = " Fadjar Nurswanto " ;

     $object -> clear_all_assign();

     $object -> setFields( $fields );

     $object -> setTables( $tables );

     $object -> setSearch( $search );

     if ( ! $object -> getQuerySQL()){ echo  $object -> Error; exit ;}

     else { $sql = $object -> Result; echo  $sql . " <br> " ;}

     echo  " <b>Result Generate List with search on some fields</b><br> " ;

     $fields = Array ( " id " , " name " , " address " , " city " );

     $tables = Array ( " customer " );

     $id = 1 ;

     $search = Array (

           " name " => " Fadjar Nurswanto " , 

           " address " => " Tomang Raya "

        );

     $object -> clear_all_assign();

     $object -> setFields( $fields );

     $object -> setTables( $tables );

     $object -> setSearch( $search );

     if ( ! $object -> getQuerySQL()){ echo  $object -> Error; exit ;}

     else { $sql = $object -> Result; echo  $sql . " <br> " ;}

    ?> 

    類代碼:

    <?php

     /* 

    Created By    : Fadjar Nurswanto <fajr_n@rindudendam.net>

    DATE      : 2006-08-02

    PRODUCTNAME    : class MyLibSQLGen

    PRODUCTVERSION  : 1.0.0

    DESCRIPTION    : class yang berfungsi untuk menggenerate SQL

    DENPENCIES    :

     */

     class MyLibSQLGen

    {

       var  $Result ;

       var  $Tables = Array ();

       var  $Values = Array ();

       var  $Fields = Array ();

       var  $Conditions = Array ();

       var  $Condition ;

       var  $LeftJoin = Array ();

       var  $Search ;

       var  $Sort = " ASC " ;

       var  $Order ;

       var  $Error ;

       function MyLibSQLGen(){}

       function BuildCondition()

      {

         $funct = " BuildCondition " ;

         $className = get_class ( $this );

         $conditions = $this -> getConditions();

         if ( ! $conditions ){ $this -> dbgDone( $funct ); return  true ;}

         if ( ! is_array ( $conditions ))

        {

           $this -> Error = " $className::$funct Variable conditions not Array " ;

           return ;

        }

         for ( $i = 0 ; $i < count ( $conditions ); $i ++ )

        {

           $this -> Condition .= $conditions [ $i ][ " condition " ] . "  " . $conditions [ $i ][ " connection " ] . "  " ;

        }

         return  true ;

      }

       function BuildLeftJoin()

      {

         $funct = " BuildLeftJoin " ;

         $className = get_class ( $this );

         if ( ! $this -> getLeftJoin()){ $this -> Error = " $className::$funct Property LeftJoin was empty " ; return ;}

         $LeftJoinVars = $this -> getLeftJoin();

         $hasil = false ;

         foreach ( $LeftJoinVars  as  $LeftJoinVar )

        {

          @ $hasil .= " LEFT JOIN " . $LeftJoinVar [ " table " ];

           foreach ( $LeftJoinVar [ " on " ] as  $var )

          {

            @ $condvar .= $var [ " condition " ] . "  " . $var [ " connection " ] . "  " ;

          }

           $hasil .= " ON ( " . $condvar . " ) " ;

           unset ( $condvar );

        }

         $this -> ResultLeftJoin = $hasil ;

         return  true ;

      }

       function BuildOrder()

      {

         $funct = " BuildOrder " ;

         $className = get_class ( $this );

         if ( ! $this -> getOrder()){ $this -> Error = " $className::$funct Property Order was empty " ; return ;}

         if ( ! $this -> getFields()){ $this -> Error = " $className::$funct Property Fields was empty " ; return ;}

         $Fields = $this -> getFields();

         $Orders = $this -> getOrder();

         if ( ereg ( " , " , $Orders )){ $Orders = explode ( " , " , $Order );}

         if ( ! is_array ( $Orders )){ $Orders = Array ( $Orders );}

         foreach ( $Orders  as  $Order )

        {

           if ( ! is_numeric ( $Order )){ $this -> Error = " $className::$funct Property Order not Numeric " ; return ;}

           if ( $Order  >  count ( $this -> Fields)){ $this -> Error = " $className::$funct Max value of property Sort is " . count ( $this -> Fields); return ;}

          @ $xorder .= $Fields [ $Order ] . " , " ;

        }

         $this -> ResultOrder = " ORDER BY " . substr ( $xorder , 0 ,- 1 );

         return  true ;

      }

       function BuildSearch()

      {

         $funct = " BuildSearch " ;

         $className = get_class ( $this );

         if ( ! $this -> getSearch()){ $this -> Error = " $className::$funct Property Search was empty " ; return ;}

         if ( ! $this -> getFields()){ $this -> Error = " $className::$funct Property Fields was empty " ; return ;}

         $Fields = $this -> getFields();

         $xvalue = $this -> getSearch();

         if ( is_array ( $xvalue ))

        {

           foreach ( $Fields  as  $field )

          {

             if (@ $xvalue [ $field ])

            {

               $Values = explode ( "  " , $xvalue [ $field ]);

               foreach ( $Values  as  $Value )

              {

                @ $hasil .= $field . " LIKE '% " . $Value . " %' OR " ;

              }

               if ( $hasil )

              {

                @ $hasil_final .= " ( " . substr ( $hasil , 0 ,- 4 ) . " ) AND " ;

                 unset ( $hasil );

              }

            }

          }

           $hasil = $hasil_final ;

        }

         else

        {

           foreach ( $Fields  as  $field )

          {

             $Values = explode ( "  " , $xvalue );

             foreach ( $Values  as  $Value )

            {

              @ $hasil .= $field . " LIKE '% " . $Value . " %' OR " ;

            }

          }

        }

         $this -> ResultSearch = substr ( $hasil , 0 ,- 4 );

         return  true ;

      }

       function clear_all_assign()

      {

         $this -> Result = null ;

         $this -> ResultSearch = null ;

         $this -> ResultLeftJoin = null ;

         $this -> Result = null ;

         $this -> Tables = Array ();

         $this -> Values = Array ();

         $this -> Fields = Array ();

         $this -> Conditions = Array ();

         $this -> Condition = null ;

         $this -> LeftJoin = Array ();

         $this -> Sort = " ASC " ;

         $this -> Order = null ;

         $this -> Search = null ;

         $this -> fieldSQL = null ;

         $this -> valueSQL = null ;

         $this -> partSQL = null ;

         $this -> Error = null ;

         return  true ;

      }

       function CombineFieldValue( $manual = false )

      {

         $funct = " CombineFieldsPostVar " ;

         $className = get_class ( $this );

         $fields = $this -> getFields();

         $values = $this -> getValues();

         if ( ! is_array ( $fields ))

        {

           $this -> Error = " $className::$funct Variable fields not Array " ;

           return ;

        }

         if ( ! is_array ( $values ))

        {

           $this -> Error = " $className::$funct Variable values not Array " ;

           return ;

        }

         if ( count ( $fields ) != count ( $values ))

        {

           $this -> Error = " $className::$funct Count of fields and values not match " ;

           return ;

        }

         for ( $i = 0 ; $i < count ( $fields ); $i ++ )

        {

          @ $this -> fieldSQL .= $fields [ $i ] . " , " ;

           if ( $fields [ $i ] ==  " pwd "  ||  $fields [ $i ] ==  " password "  ||  $fields [ $i ] ==  " pwd " )

          {

            @ $this -> valueSQL .= " password(' " . $values [ $i ] . " '), " ;

            @ $this -> partSQL .= $fields [ $i ] . " =password(' " . $values [ $i ] . " '), " ;

          }

           else

          {

             if ( is_numeric ( $values [ $i ]))

            {

              @ $this -> valueSQL .= $values [ $i ] . " , " ;

              @ $this -> partSQL .= $fields [ $i ] . " = " . $values [ $i ] . " , " ;

            }

             else

            {

              @ $this -> valueSQL .= " ' " . $values [ $i ] . " ', " ;

              @ $this -> partSQL .= $fields [ $i ] . " =' " . $values [ $i ] . " ', " ;

            }

          }

        }

         $this -> fieldSQL = substr ( $this -> fieldSQL , 0 ,- 1 );

         $this -> valueSQL = substr ( $this -> valueSQL , 0 ,- 1 );

         $this -> partSQL = substr ( $this -> partSQL , 0 ,- 1 );

         return  true ;

      }

       function getDeleteSQL()

      {

         $funct = " getDeleteSQL " ;

         $className = get_class ( $this );

         $Tables = $this -> getTables();

         if ( ! $Tables  ||  ! count ( $Tables ))

        {

           $this -> dbgFailed( $funct );

           $this -> Error = " $className::$funct Table was empty " ;

           return ;

        }

         for ( $i = 0 ; $i < count ( $Tables ); $i ++ )

        {

          @ $Table .= $Tables [ $i ] . " , " ;

        }

         $Table = substr ( $Table , 0 ,- 1 );

         $sql = " DELETE FROM " . $Table ;

         if ( $this -> getConditions())

        {

           if ( ! $this -> BuildCondition()){ $this -> dbgFailed( $funct ); return ;}

           $sql .= " WHERE " . $this -> getCondition();

        }

         $this -> Result = $sql ;

         return  true ;

      }

       function getInsertSQL()

      {

         $funct = " getInsertSQL " ;

         $className = get_class ( $this );

         if ( ! $this -> getValues()){ $this -> Error = " $className::$funct Property Values was empty " ; return ;}

         if ( ! $this -> getFields()){ $this -> Error = " $className::$funct Property Fields was empty " ; return ;}

         if ( ! $this -> getTables()){ $this -> Error = " $className::$funct Property Tables was empty " ; return ;}

         if ( ! $this -> CombineFieldValue()){ $this -> dbgFailed( $funct ); return ;}

         $Tables = $this -> getTables();

         $sql = " INSERT INTO " . $Tables [ 0 ] . " ( " . $this -> fieldSQL . " ) VALUES ( " . $this -> valueSQL . " ) " ;

         $this -> Result = $sql ;

         return  true ;

      }

       function getUpdateSQL()

      {

         $funct = " getUpdateSQL " ;

         $className = get_class ( $this );

         if ( ! $this -> getValues()){ $this -> Error = " $className::$funct Property Values was empty " ; return ;}

         if ( ! $this -> getFields()){ $this -> Error = " $className::$funct Property Fields was empty " ; return ;}

         if ( ! $this -> getTables()){ $this -> Error = " $className::$funct Property Tables was empty " ; return ;}

         if ( ! $this -> CombineFieldValue()){ $this -> dbgFailed( $funct ); return ;}

         if ( ! $this -> BuildCondition()){ $this -> dbgFailed( $funct ); return ;}

         $Tables = $this -> getTables();

         $sql = " UPDATE " . $Tables [ 0 ] . " SET " . $this -> partSQL . " WHERE " . $this -> getCondition();

         $this -> Result = $sql ;

         return  true ;

      }

       function getQuerySQL()

      {

         $funct = " getQuerySQL " ;

         $className = get_class ( $this );

         if ( ! $this -> getFields()){ $this -> Error = " $className::$funct Property Fields was empty " ; return ;}

         if ( ! $this -> getTables()){ $this -> Error = " $className::$funct Property Tables was empty " ; return ;}

         $Fields = $this -> getFields();

         $Tables = $this -> getTables();

         foreach ( $Fields  as  $Field ){@ $sql_raw .= $Field . " , " ;}

         foreach ( $Tables  as  $Table ){@ $sql_table .= $Table . " , " ;}

         $this -> Result = " SELECT " . substr ( $sql_raw , 0 ,- 1 ) . " FROM " . substr ( $sql_table , 0 ,- 1 );

         if ( $this -> getLeftJoin())

        {

           if ( ! $this -> BuildLeftJoins()){ $this -> dbgFailed( $funct ); return ;}

           $this -> Result .= "  " . $this -> ResultLeftJoin;

        }

         if ( $this -> getConditions())

        {

           if ( ! $this -> BuildCondition()){ $this -> dbgFailed( $funct ); return ;}

           $this -> Result .= " WHERE ( " . $this -> Condition . " ) " ;

        }

         if ( $this -> getSearch())

        {

           if ( ! $this -> BuildSearch()){ $this -> dbgFailed( $funct ); return ;}

           if ( $this -> ResultSearch)

          {

             if ( eregi ( " WHERE " , $this -> Result)){ $this -> Result .= " AND " . $this -> ResultSearch;}

             else { $this -> Result .= " WHERE " . $this -> ResultSearch;}

          }

        }

         if ( $this -> getOrder())

        {

           if ( ! $this -> BuildOrder()){ $this -> dbgFailed( $funct ); return ;}

           $this -> Result .= "  " . $this -> ResultOrder;

        }

         if ( $this -> getSort())

        {

           if (@ $this -> ResultOrder)

          {

             $this -> Result .= "  " . $this -> getSort();

          }

        }

         return  true ;

      }

       function getCondition(){ return @ $this -> Condition;}

       function getConditions(){ if ( count (@ $this -> Conditions) &&  is_array (@ $this -> Conditions)){ return @ $this -> Conditions;}}

       function getFields(){ if ( count (@ $this -> Fields) &&  is_array (@ $this -> Fields)){ return @ $this -> Fields;}}

       function getLeftJoin(){ if ( count (@ $this -> LeftJoin) &&  is_array (@ $this -> LeftJoin)){ return @ $this -> LeftJoin;}}

       function getOrder(){ return @ $this -> Order;}

       function getSearch(){ return @ $this -> Search;}

       function getSort(){ return @ $this -> Sort ;}

       function getTables(){ if ( count (@ $this -> Tables) &&  is_array (@ $this -> Tables)){ return @ $this -> Tables;}}

       function getValues(){ if ( count (@ $this -> Values) &&  is_array (@ $this -> Values)){ return @ $this -> Values;}}

       function setCondition( $input ){ $this -> Condition = $input ;}

       function setConditions( $input )

      {

         if ( is_array ( $input )){ $this -> Conditions = $input ;}

         else { $this -> Error = get_class ( $this ) . " ::setConditions Parameter input not array " ; return ;}

      }

       function setFields( $input )

      {

         if ( is_array ( $input )){ $this -> Fields = $input ;}

         else { $this -> Error = get_class ( $this ) . " ::setFields Parameter input not array " ; return ;}

      }

       function setLeftJoin( $input )

      {

         if ( is_array ( $input )){ $this -> LeftJoin = $input ;}

         else { $this -> Error = get_class ( $this ) . " ::setFields Parameter input not array " ; return ;}

      }

       function setOrder( $input ){ $this -> Order = $input ;}

       function setSearch( $input ){ $this -> Search = $input ;}

       function setSort( $input ){ $this -> Sort = $input ;}

       function setTables( $input )

      {

         if ( is_array ( $input )){ $this -> Tables = $input ;}

         else { $this -> Error = get_class ( $this ) . " ::setTables Parameter input not array " ; return ;}

      }

       function setValues( $input )

      {

         if ( is_array ( $input )){ $this -> Values = $input ;}

         else { $this -> Error = get_class ( $this ) . " ::setValues Parameter input not array " ; return ;}

      }

    }

    ?> 

    希望本文所述對大家PHP程序設(shè)計有所幫助。

    更多信息請查看網(wǎng)絡(luò)編程

    2026國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)