0

私のアプリケーションは、次のコードを使用して、5 以上の mysql を検出しています。これは、PHP 5.2、5.3、および 5.4 でうまく機能します。

問題は、デフォルトで mysqlnd を使用する PHP 5.5 にあるため、スクリプトは mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4 $ を報告し、MySQL を適切に検出できません。そのようなバージョンの例外を作成する必要がありますが、方法がわかりません。

 echo "<mysql>";
    if(key_exists('mysql', $phpinfo))
    {
        if(key_exists('Client API version', $phpinfo['mysql']))
        {
            $t=explode(".", $phpinfo['mysql']['Client API version']);
            if($t[0]>=5)
                $ok=1;
        else
                $ok=0;
            echo "<val>{$phpinfo['mysql']['Client API version']}</val><ok>$ok</ok>";
        }
        else
           echo "<val></val><ok>0</ok>";
    }
    else
        echo "<val></val><ok>0</ok>";
    echo "</mysql>\n";
4

2 に答える 2

2

次の SQL コマンドを使用してください。

SHOW VARIABLES LIKE "%version%";

次のように表示されます。

ここに画像の説明を入力

于 2013-07-18T21:35:15.080 に答える
0

mysql5.5では使用しないでください。非推奨です。

mysql_ 関数の非推奨

で始まる PHP 関数mysql_は、PHP 5.5.0 で非推奨になりました。そうする立場にある場合は、代わりにMySQLiまたはPDO拡張機能を使用するようにコードを更新することを検討してください。

とにかく、mysqliを使用してください(質問タグにあるようです)

phpinfo キーは:$phpinfo['mysqli']['Client API header version']ではなく$phpinfo['mysql']['Client API version'].

于 2013-07-18T21:19:52.747 に答える