2016-10-01 6 views
1

特定のクエリではなく、PHP 7の出現によりmysqlからmysqliに変換されるすべてのソフトウェアクエリ。これは非常に古いコーディングであり、そのように多くの出現があります。文字列や構文の一部はmysql_query($ query、$ link); mysqli_query($ link、$ query)に変換されます。 $ link1、$ link2は異なるデータベース接続用にすることができます。mysqliにmysqlを行う方法

+0

あなたは '$ link1'と' $ link2'をどこで宣言しましたか?いくつかの設定ファイルで '$ link'を指定し、それをすべてのページに含めると、最高です。 –

答えて

4

regular expressionsを使用してください。私は自分の表現が宣伝されているように動作することを確認しておらず、正規表現構文は使用するツールによって異なります。しかし、一般的に、それはこのように動作する必要がありますmysql_query\(("[^"]*"), *(\$[a-zA-Z0-9_]+)\)

  • を使用し、EclipseのIDEで、例としてmysqli_query($2, $1)
  • と交換のための

    • 検索 "検索/ファイルを..."、ダニチェックボックスの「正規表現」、ファイル名パターンとして「* .PHP」を指定し、「含まれる文字列」の下にこれを入力するには:
      mysql_query\(("[^"]*"), *(\$[a-zA-Z0-9_]+)\) 
      

      はその後、「置換...」ボタンとエンテを打ちますこれは「With」の下に表示されます。

      mysqli_query($1, $2) 
      

      [プレビュー]をクリックして結果を確認します。これが正しく行われると、数秒で何百ものファイルを更新できます。後でコードをテストすることを忘れないでください。

    +0

    私はそれをテストし、それが動作しています。これは私の貴重な時間を節約するつもりです、アクセル!あなたのソリューションをありがとう。 – Indication

    +0

    Axel、クエリが 'mysqli_query(" select field1、table2 where table1 where '$ var1。 "とrow2 ='"。$ var2。 "'limit 1"、$ linkx) 'のようなものならどうでしょうか?どのようにそれらを選び、交換するのですか? – Indication

    1

    汚いソリューション:まず

    mysql_queryのような関数が定義されませんのでごmysql拡張子を削除。

    第二に、このような関数を書く:

    function mysql_query($q, $l){ 
        mysqli_query($l, $q); 
    } 
    

    私が意味する、mysqliのを呼び出すために、すべてのMySQLの機能を書き換えます。

    それがうまくいくかもしれません。

    もちろん、あなたのコードが非常に多くの機能を使用している場合、これはうまく機能しない可能性があります。がんばろう!

    +0

    ああ、私はあなたが好きです。 –

    +0

    @EdvinTenovimasありがとう。あなたがそれを好きなら、あなたは私にアップヴォートを与えることができます。ありがとう:) – Turtle

    +1

    @EdvinTenovimasありがとうございます:) – Turtle

    関連する問題