PHP、MySQL、および Apache をセットアップしました。localhost()
PHP用で、うまく機能しています。しかし、MySQL をダウンロードすると、次のように報告されます。
致命的なエラー: 未定義関数 mysql_connect() の呼び出し
どうすればこれを修正できますか?
PHP 7 にアップグレードしたため、現在mysql_connect
は非推奨です。あなたのものをチェックしてください:
php -version
次のように変更mysqli_connect
します。
$host = "127.0.0.1";
$username = "root";
$pass = "foobar";
$con = mysqli_connect($host, $username, $pass, "your_database");
mysql_*
レガシー PHP をアップグレードする場合は、関数を使用してすべての関数をアップグレードする作業に直面することになりますmysqli_*
。
PHP 7.0 へのアップグレード後にこのエラーが発生した場合は、非推奨のライブラリを使用しています。
mysql_connect — MySQL サーバーへの接続を開く
警告
この拡張機能は PHP 5.5.0 で廃止され、PHP 7.0.0 で削除されました。代わりに、MySQLi または PDO_MySQL 拡張機能を使用する必要があります。
ターミナルを開き、次のコマンドを実行します。
sudo apt-get install mysql-server
PHP を実行している場合は、mysql 5 用の php モジュールもインストールする必要があります。
sudo apt-get install php5-mysql
PHP のインストールが mysql サポートでコンパイルされていることを確認します。これを含むテスト Web ページを作成<?php phpinfo(); exit(); ?>
し、ブラウザーにロードします。ページで MySQL を検索します。表示されない場合は、MySQL をサポートするように PHP を再コンパイルするか、PHP が組み込まれている PHP パッケージを再インストールする必要があります。
PHP.INI
以下のオプションを有効にするのを忘れていないか確認してください (特に mysql のモジュールをロードします)。
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"
使用する。
<?php $con = mysqli_connect('localhost', 'username', 'password', 'database'); ?>
PHP 7 の場合。XAMPP にはおそらく PHP 7 が含まれています。MySQLi と PDO の 2 つのオプションがあります。
私の解決策はここにあります (最後のスラッシュ (NB: バックスラッシュ) を から削除するだけで済みましたPHPIniDir 'c:\PHP\'
):致命的なエラー: 未定義関数 mysql_connect() の呼び出しを解決できません
Windows 8を使用していますnこの問題は、環境変数を変更することで解決しました
次の手順に従ってください: マイ コンピューターのプロパティ -> 詳細システム設定 -> 環境変数を開きます。「システム変数」で「パス」を選択し、「編集」をクリックします。「変数値」に「C:\php;」を追加します。またはphpがインストールされたパス。
[OK] をクリックして設定を適用し、システムを再起動します。それはうまくいくはずです。
PHP バージョンの mysqli モジュールがインストールされているかどうかを確認します
$ ls /etc/php/7.0/mods-available/mysql*
/etc/php/7.0/mods-available/mysqli.ini /etc/php/7.0/mods-available/mysqlnd.ini
モジュールを有効にする
$ sudo phpenmod mysqli