-1
<?php 
$str = "INSERT INTO `f_part` (lname,fname,email)  VALUES ('tha','thia','thia@gmail.com')";
?>

誰でも私がこの文字列を配列に変換するのを手伝ってくれるでしょう

$result = array('table'=>'f_part',
                'data'=>array('lname=>'tha','fname=>'thia','email'=>'thia@gmail.com')

            )
4

1 に答える 1

3

INSERT、SELECT、INTO、VALUES、FROM、WHERE などのさまざまな MySQL キーワードを探してクエリを分析する必要があります。等

http://code.google.com/p/php-sql-parser/を使用することをお勧めします。クラスはすでにトリッキーな部分を行っています。必要な出力と実際には同じではありませんが、似たようなもの、またはそれ以上のものを提供します。

クエリの例を次に示します。

SELECT STRAIGHT_JOIN a,b,c 
  from some_table an_alias
 WHERE d > 5;

そして出力例:

Array
( 
    [OPTIONS] => Array
        (
            [0] => STRAIGHT_JOIN
        )       

    [SELECT] => Array
        (
            [0] => Array
                (
                    [expr_type] => colref
                    [base_expr] => a
                    [sub_tree] => 
                    [alias] => `a`
                )

            [1] => Array
                (
                    [expr_type] => colref
                    [base_expr] => b
                    [sub_tree] => 
                    [alias] => `b`
                )

            [2] => Array
                (
                    [expr_type] => colref
                    [base_expr] => c
                    [sub_tree] => 
                    [alias] => `c`
                )

        )

    [FROM] => Array
        (
            [0] => Array
                (
                    [table] => some_table
                    [alias] => an_alias
                    [join_type] => JOIN
                    [ref_type] => 
                    [ref_clause] => 
                    [base_expr] => 
                    [sub_tree] => 
                )

        )

    [WHERE] => Array
        (
            [0] => Array
                (
                    [expr_type] => colref
                    [base_expr] => d
                    [sub_tree] => 
                )

            [1] => Array
                (
                    [expr_type] => operator
                    [base_expr] => >
                    [sub_tree] => 
                )

            [2] => Array
                (
                    [expr_type] => const
                    [base_expr] => 5
                    [sub_tree] => 
                )

        )

)
于 2012-10-03T10:59:33.457 に答える