调用未定义的函数mysql_connect

2022-08-30 20:00:37

我刚刚在我的家用PC上安装了PHP和Apache。当我尝试调用函数时,我得到:mysql_connect

fatal error: call to undefined function mysql_connect.

我已经加载了php.ini其中我有未注释的行,并将扩展目录更改为 - 这是文件php_mysql.dll和php_mysqli.dll所在的目录。如何解决此问题?extension=php_mysql.dllextension=php_mysqli.dllextension_dir = "C:\php\ext"

phpinfo() 的输出: http://jsfiddle.net/MMTwA/


答案 1

查看输出后,似乎未加载mysql扩展。我怀疑您可能正在编辑错误的php.ini文件(可能有多个副本)。确保在 C:\php\php.ini编辑 php 文件(还要检查以确保 C:\Windows 中没有第二个副本)。phpinfo()

此外,您应该检查Apache日志中的错误(应该在Apache安装的\logs\目录中。

如果您还没有阅读以下内容,我会看看评论部分,因为似乎很多人在设置它时都会遇到怪癖。一些评论者提供了他们用来让它工作的解决方案。

http://php.net/manual/en/install.windows.extensions.php

另一个常见的解决方案似乎是将libmysql.dll并将php_mysql.dll从c:\PHP复制到C:\Windows\System32。


答案 2

关于我的(类似)问题的背景:

我被要求修复一个PHP项目,该项目使用短标签。我的WAMP服务器的PHP.ini有.为了首次运行该项目,我将此设置修改为 。short_open_tag = offshort_open_tag = off

问题浮出水面:在此更改之后,我的所有mysql_connect()调用都失败了。它引发了一个错误

致命错误:调用未定义的函数mysql_connect。

解决方案:只需设置 .short_open_tag = off


推荐