解決PHP Fatal error: Call to undefined function mysql_connect()
在使用PHP開發網站時,我們常常會遇到各種錯誤和例外。其中,PHP Fatal error: Call to undefined function mysql_connect() 是比較常見的錯誤。這個錯誤通常出現在我們使用PHP連接MySQL資料庫時,但忘記了在PHP設定檔中啟用對MySQL的支援。在本文中,我們將討論如何解決這個錯誤,並給出一些程式碼範例來示範解決方法。
首先,我們要明白這個錯誤的原因是什麼。在PHP5.5.0版本之後,MySQL擴充被棄用並在PHP7.0.0版本中移除了。因此,如果您使用的是PHP7.0.0版本或更高版本,並嘗試使用mysql_connect()函數連接MySQL資料庫,就會出現上述錯誤提示。取而代之的是,我們應該使用mysqli或PDO擴充來連接MySQL資料庫。
解決這個問題的第一步是確認您正在使用的是PHP7.0.0版本或更高版本。可以透過在命令列運行 php -v
或在程式碼中使用 echo PHP_VERSION;
來查看PHP版本。
一旦確認了PHP的版本,我們就可以採取以下兩種方式來解決這個錯誤。
方式一:使用mysqli擴充連接MySQL資料庫
範例程式碼如下:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $database = "dbname"; // 创建连接 $conn = new mysqli($servername, $username, $password, $database); // 检测连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; ?>
上述程式碼中,我們使用了mysqli擴充來連接MySQL資料庫。首先,我們聲明了相關的連線參數,包括伺服器名稱、使用者名稱、密碼以及資料庫名稱。然後,使用 new mysqli()
建立了一個mysqli對象,參數依序為伺服器名稱、使用者名稱、密碼以及資料庫名稱。接著,我們使用 $conn->connect_error
來偵測連線是否成功,如果連線失敗,則輸出錯誤訊息;如果連線成功,則輸出 "連線成功"。
方式二:使用PDO擴充連接MySQL資料庫
範例程式碼如下:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $database = "dbname"; try { $conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "连接成功"; } catch(PDOException $e) { echo "连接失败: " . $e->getMessage(); } ?>
在上述程式碼中,我們使用了PDO擴充功能來連接MySQL資料庫。首先,我們聲明了相關的連線參數,包括伺服器名稱、使用者名稱、密碼以及資料庫名稱。然後,使用 new PDO()
建立了一個PDO對象,第一個參數是連接字串,包含了伺服器名和資料庫名,第二個參數是用戶名,第三個參數是密碼。接著,我們使用 $conn->setAttribute()
來設定PDO物件的錯誤模式,並將其設為拋出例外。最後,使用try-catch區塊來擷取連線中可能出現的異常,如果連線失敗,則輸出錯誤訊息;如果連線成功,則輸出 "連線成功"。
總結:
在本文中,我們討論如何解決PHP Fatal error: Call to undefined function mysql_connect()錯誤。我們指出了這個錯誤的原因是MySQL擴充在PHP7.0.0版本中被移除,並給了兩種解決方法,即使用mysqli擴充和PDO擴充來連接MySQL資料庫。透過以上的程式碼範例,希望讀者能夠成功解決這個錯誤,並順利連接MySQL資料庫。
以上是解決 PHP 致命錯誤:呼叫未定義的函數 mysql_connect()的詳細內容。更多資訊請關注PHP中文網其他相關文章!