PHP连接mysql数据库报错:Call to undefined function mysql_connect()

问题描述

刚开始学php,系统环境是Ubuntu+PHP7.0+Mysql5.7+Apache2。
运行一个数据库连接测试示例时报错:

  1. [client 127.0.0.1:37496] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/test.php:2\nStack trace:\n#0 {main}\n  thrown in /var/www/html/test.php on line 2
复制代码

示例代码是:

  1. <?PHP
  2.     $conn=mysql_connect("localhost","root","root");
  3.     if($conn){
  4.         echo"ok";
  5.     }else{
  6.         echo"error";   
  7.     }
  8. ?>
复制代码
解决办法

查阅资料后发现,原来是从PHP5.0开始就不推荐使用mysql_connect()函数,到了php7.0则直接废弃了该函数,替代的函数是:

  1. mysqli_connect();
复制代码
  1. 用法是:

  2. $con=mysqli_connect("localhost","my_user","my_password","my_db");
复制代码
  1. 官方的描述连接:http://php.net/manual/en/function.mysqli-connect.php
  2. 正确的测试代码:

  3. <?PHP
  4.     $conn=mysqli_connect("localhost","root","root");
  5.     if($conn){
  6.         echo"ok";
  7.     }else{
  8.         echo"error";   
  9.     }
  10. ?>
  11. 1
  12. 2
  13. 3
  14. 4
  15. 5
  16. 6
  17. 7
  18. 8
  19. 总结
  20. 在Ubuntu+PHP7.0+Mysql5.7+Apache2的系统环境下报该错,是因为mysql_connect()函数被弃用了,当跟着过时的教程学习时可能会遇到该错误。(注意:如果是windows系统,则更可能是Apache2没有启用mysql,详情自行百度)
  21. 当运行上面的测试代码时,界面上没有任何反应,错误是在日志中查阅出来的,日志目录在“/var/log/apache2/error.log”。
  22. ---------------------

复制代码






上一篇:帝国cms移动端同步插件的按照方法附带插件
下一篇:帝国CMS】怎么彻底地删除文章(数据库)
如无回复请发邮件