Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

रेगेक्स MySQL टिप्पणियों से मेल खाने के लिए

PHP में, मैं इस कोड का उपयोग SQL को असम्बद्ध करने के लिए कर रहा हूँ:

$sqlComments = '@(([\'"`]).*?[^\\\]\2)|((?:\#|--).*?$|/\*(?:[^/*]|/(?!\*)|\*(?!/)|(?R))*\*\/)\s*|(?<=;)\[email protected]';
/* Commented version
$sqlComments = '@
    (([\'"`]).*?[^\\\]\2) # $1 : Skip single & double quoted + backticked expressions
    |(                   # $3 : Match comments
        (?:\#|--).*?$    # - Single line comments
        |                # - Multi line (nested) comments
         /\*             #   . comment open marker
            (?: [^/*]    #   . non comment-marker characters
                |/(?!\*) #   . ! not a comment open
                |\*(?!/) #   . ! not a comment close
                |(?R)    #   . recursive case
            )*           #   . repeat eventually
        \*\/             #   . comment close marker
    )\s*                 # Trim after comments
    |(?<=;)\s+           # Trim after semi-colon
    @msx';
*/
$uncommentedSQL = trim( preg_replace( $sqlComments, '$1', $sql ) );
preg_match_all( $sqlComments, $sql, $comments );
$extractedComments = array_filter( $comments[ 3 ] );
var_dump( $uncommentedSQL, $extractedComments );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पायथन डीबी-एपीआई:फ़ेचोन बनाम फ़ेचमैनी बनाम फ़ेचॉल

  2. मैं अपने PHP MySQL इंजेक्शन उदाहरण का परीक्षण कैसे कर सकता हूं?

  3. मैं Zend_Db के साथ एक से अधिक पंक्तियाँ कैसे जोड़ूँ?

  4. विंडोज़ xampp पर lower_case_table_names=2 का मान कहाँ बदलें?

  5. Postgresql में MySQL के ORDER BY FIELD () का अनुकरण करना