編碼的世界 / 優質文選 / 文明

PHP連接mysql數據庫報錯:Call to undefined function mysql_connect()


2021年7月05日
-   

問題描述
剛開始學php,系統環境是Ubuntu+PHP7.0+Mysql5.7+Apache2。 運行一個數據庫連接測試示例時報錯:
[client 127.0.0.1:37496] PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/test.php:2
Stack trace:
#0 {main}
thrown in /var/www/html/test.php on line 2

示例代碼是:
<?PHP
$conn=mysql_connect("localhost","root","root");
if($conn){
echo"ok";
}else{
echo"error";
}
?>

解決辦法
查閱資料後發現,原來是從PHP5.0開始就不推薦使用mysql_connect()函數,到了php7.0則直接廢棄了該函數,替代的函數是:
mysqli_connect();

用法是:
$con=mysqli_connect("localhost","my_user","my_password","my_db");

官方的描述連接:http://php.net/manual/en/function.mysqli-connect.php 正確的測試代碼:
<?PHP
$conn=mysqli_connect("localhost","root","root");
if($conn){
echo"ok";
}else{
echo"error";
}
?>

總結
  • 在Ubuntu+PHP7.0+Mysql5.7+Apache2的系統環境下報該錯,是因為mysql_connect()函數被棄用了,當跟著過時的教程學習時可能會遇到該錯誤。(注意:如果是windows系統,則更可能是Apache2沒有啟用mysql,詳情自行百度)
  • 當運行上面的測試代碼時,界面上沒有任何反應,錯誤是在日志中查閱出來的,日志目錄在“/var/log/apache2/error.log”。
  • 熱門文章