Fatal error: Call to undefined function mysql_connect()请问这个问题您是如何解决的?

2024-11-28 21:48:09
推荐回答(2个)
回答(1):

这个问题典型的php_mysql.dll没有加载成功
首先你当然要确认php.ini里面extension路径对不对,就是说在确定php_mysql.dll一定存在的情况下按以下方法解决

你机器上一定装了MySQL,而且先装了MySQL,安装MySQL时候会加一个环境变量path,是mysql/bin这个路径,这个目录下面有个DLL叫libmysql.dll,PHP目录下面也有一个libmysql.dll,这两个是不同的文件,不能混用,就是因为PHP找到了MySQL/bin下面的libmysql.dll,所以php_mysql.dll加载失败

下面分析一下

环境变量path里面 mysql/bin这个路径如果在PHP路径之前,加载php_mysql.dll时候 PHP会先在mysql/bin这个路径下面找到libmysql.dll,然后发现不能识别,所以php_mysql.dll加载失败

网上传说普通的解决方法是把PHP里面的php_mysql.dll和libmysql.dll拷贝到system32下,这是因为system32的路径在path最前面,这些回答治标不治本,万一system32路径在path排在后面呢……

实际上起作用的方法就是在环境变量里面把php路径放在mysql/bin这个路径前面,让PHP找的时候先找到PHP下面那个libmysql.dll就可以了

PS:“我希望看到我这个解答的PHPer都能记住我这个解释
别在向网上到处传的什么集成安装包,什么注意配置,什么注意配置文件路径,如果改个配置那么简单还有那么多人问么,我想知道回答这个问题的那么多人,有几个真正遇到过这个问题,是真正自己找到问题根源的,都复制一下回答别人,有意思么”

望采纳

回答(2):

我跟你当时遇到的问题不一样..我当时是那个mysqli数据库拓展库不能用.然后我想尽各种办法.最后还是以失败告终.最后我是重装数据库搞定的.
虽然apache+mysql+php的安装和配置以及原理我都很清楚啦.但是出现那个问题的确是还是束手无策.
推荐看看那个韩顺平老师的教程.php基础教程.其中有一章节节对这个问题讲的很清楚.