PHP7连接MySql错误”Fatal error: Uncaught Error: Call to undefined function mysql_connect()”

破坏指数:★★★
2天学习中断,信心略受影响。
错误现场:
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in D:\Program\Apache24\htdocs\hello-mysql.php:5 Stack trace: #0 {main} thrown in D:\Program\Apache24\htdocs\hello-mysql.php on line 5
操作系统:Win7 x64
乐3背景:
新手入门,想学习php,搭建了apache2.4+PHP7.0+MySql5.5环境。
前面已经确认apache+php成功,继续集成MySql,配置MySql时,遭遇此错误袭击。
错误重现:
根据网上的一些资料,进行了如下操作。
1)配置php.ini如下,然后重启apache服务:
文件位置:D:\Program\php7\php.ini

2)创建hello.php作为测试页,代码如下:
文件位置:D:\Program\Apache24\htdocs\hello.php

3)输入地址http://localhost/hello.php测试,报错如下:
无法显示此页
原因分析:
没有配置mysql扩展前网站好使,于是检查一下extension中的dll是否在目录下都有,发现”php_mysql.dll”没有,于是修改php.ini把”extension=php_mysql.dll”注释掉试试。
再次重启apache服务器,刷新http://localhost/hello.php,页面出现如下错误:
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in D:\Program\Apache24\htdocs\hello.php:8 Stack trace: #0 {main} thrown inD:\Program\Apache24\htdocs\hello.php on line 8
意思是没有找到”mysql_connection”函数,其原因似乎是没有”php_mysql.dll”,但是怎么会没有这个dll呢。
为了解决此问题,几乎找遍了网络上各种方法,比如配置环境变量,拷贝dll到c\windows目录,重启等等,两、三天过去了,但始终不得解。无奈之下,硬着头皮啃php官网的英文说明书。没啃多久,竟意外找到了答案,现在上菜。
解决方案:
宝典在此:php官网关于mysql说明,有兴趣者可以自行阅读。讲解如下:
1)PHP7已经把”mysql.dll”删除,推荐使用mysqli或者PDO_MySQL
原文如下:

It is recommended to use either the mysqli or PDO_MySQL extensions. It is not recommended to use the old mysql extension for new development, as it was deprecated in PHP 5.5.0 and was removed in PHP 7.

因此,上面设置的php.ini确实应该把”extension=php_mysql.dll”注释掉.
2)mysql,mysqli,PDO扩展所提供的API不同,连接数据库的API如下:

mysql_connect是mysql.dll的API,注掉mysql.dll后要改成mysqli,或者PDO方式访问。
3)重新调整,正确配置如下:
php.ini文件配置如下,重启apache服务器:

hello.php代码修改如下:

4) 打开http://localhost/hello.php显示正常,页面如下。
PHP7搭建:Windows7+PHP7+Apache2.4+MySQL5.5
——-乐3悟:多读原著,少copy,注意版本。————

作者: 乐3巫

舍既得,得既舍

《PHP7连接MySql错误”Fatal error: Uncaught Error: Call to undefined function mysql_connect()”》有2个想法

  1. 您写得真的是很认真,帮到了我的忙。我很佩服您的这种精神。我现在正在学习网站方面的东西,能否留下您的联系方式方便我向前辈学习呢?

    1. 您好,目前站长是兼职写文,由于时间关系,暂时没有提供其它交流方式。
      您可以在本站通过评论或者在本站写文章提问交流,欢迎持续关注本站。
      站长基本每天都会上来看一眼,有时写点东西。^_^

发表评论