mysql_connect()错误信息

3
我已经安装了Apache2.2并安装了PHP5.4.8。我无法在浏览器中加载新的.php文件,因为它一直给我错误消息Fatal error: Call to undefined function mysql_connect()。当我加载只有这个内容的test.php文件时: <?php phpinfo(); ?> 它返回一个显示有关PHP信息的页面,但在显示MySQL模块的位置上,它仅显示mysqlnd。那是什么?此外,我已经查看了php.ini文件,并取消注释了与MySQL集成相关的正确行,以及编辑了Apache2.2 httpd文件。有人知道为什么MySQL不起作用吗?先感谢您的帮助。
另外,我尝试了许多来自此网站以及许多谷歌搜索的解决方案。我似乎无法弄清楚。 :-(

你安装了哪个版本的MySQL? - Alex Straffin
@Alex Straffin mysqlnd 5.0.10 - Green Developer
请检查您的错误日志,看看模块是否无法加载。 - Will
4
你正在使用一种过时的数据库API(https://dev59.com/3Gcs5IYBdhLWcg3wcDaZ),应该使用一种[现代替代方案](http://php.net/manual/en/mysqlinfo.api.choosing.php)。 - Quentin
可能是重复的问题,与https://dev59.com/RGkv5IYBdhLWcg3waAJT相同。 - bhovhannes
所以安装它 - Quentin
2个回答

4

1) 请看选择MySQL API。推荐使用mysqli扩展。

2) 根据其他扩展的更改,MySQL扩展mysqlmysqliPDO_mysql现在默认使用mysqlnd库。
来自MySQL本地驱动程序 - mysqlnd网站的引用:

尽管MySQL本地驱动程序是作为PHP扩展编写的,但重要的是要注意它不提供新的API给PHP程序员。 MySQL数据库连接的程序员API由MySQL扩展、mysqli和PDO MYSQL提供。这些扩展现在可以使用MySQL本地驱动程序的服务来与MySQL服务器通信。因此,你不应该将MySQL本地驱动程序视为API。

这意味着,mysqlnd扩展不会导出任何您可以在脚本中使用的函数,但它充当您的代码和mysqlmysqlipdo_mysql扩展之一之间的桥梁。

您提到phpinfo()仅显示mysqlnd。您在那里看不到标题为MySQL的部分,这意味着mysql扩展在php.ini(Windows)中未启用(注释掉),或者您的PHP未编译为支持mysql(Linux)。有关安装MySQL扩展的更多详细信息,请单击此处


感谢提供的信息!同时,再次感谢Quentin和其他所有人的贡献。非常感激。 - Green Developer

0

你的操作系统是什么?

要成功连接MySQL,您应该:

  • 安装MySQL服务器
  • 配置PHP以使用正确的mysql套接字:(在php.ini中搜索mysql.default_socket - 将其指向mysql服务器)。
  • 重新启动Web服务器-Apache

这是真的吗? mysql.default_socket = C:/Temp/mysql.sock - Plamen Nikolov
不,它说的是;mysql.default_socket = - Green Developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接