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 不工作?提前致谢。

此外,我尝试了该网站上的许多解决方案以及许多谷歌搜索。我似乎无法弄清楚。:-(

4

2 回答 2

4

1) 看看选择 MySQL API。建议使用mysqli扩展。

2) 根据对扩展的其他更改,MySQL 扩展mysqlmysqliPDO_mysql现在使用mysqlnd作为默认库。
来自MySQL Native Driver - mysqlnd站点的引用:

虽然 MySQL Native Driver 是作为 PHP 扩展编写的,但需要注意的是,它并没有为 PHP 程序员提供新的 API。MySQL 数据库连接的程序员 API 由 MySQL 扩展 mysqli 和 PDO MYSQL 提供。这些扩展现在可以使用 MySQL Native Driver 的服务与 MySQL 服务器进行通信。因此,您不应将 MySQL Native Driver 视为 API

这意味着,该mysqlnd扩展不会导出您可以在脚本中使用的任何功能,而是充当您的代码与mysql, mysqli,pdo_mysql扩展之一之间的桥梁。

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

于 2012-11-14T13:43:44.957 回答
0

你的操作系统是什么?

要成功连接 MySQL,您应该:

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