0

我继承了一个使用 PHP 编写的网站,我们主要是一家 Windows 商店。我根本无法让 PHP 代码连接到 MySQL。

1 - IDE 是 Eclipse。我导入了项目并设置了调试配置,并且在 HTML 和其他 PHP(非 DB)代码中一切正常。

2 - 我正在运行启用 PHP 的 IIS 7.5

3 - 我尝试连接到两个完全独立的 MySQL 实例(不同的主机、不同的数据库等),但它无法连接

我已经确保将 sql.safemode 设置为 OFF 并且 php.ini 中没有默认服务器(如果安全模式为 OFF,那不应该发挥作用,对吧?)

我对 PHP 代码或项目没有做任何特别的事情,我想知道这是否是问题的一部分——我是否需要一个 JAR 或任何类型的引用来启用 MySQL 连接?

PHP代码如下 - 我认为没什么特别的:

$db_name = "foo";
$connection = @mysql_connect("myserver", "myuser", "mypw") or die("Could not connect to database");
mysql_select_db($db_name, $connection) or die("Count not select database");

上面的代码总是导致“Could not connect to database”的死语句

4

2 回答 2

0

据我所知,@ 符号不是建立数据库连接所必需的。

尝试

$connection = mysql_connect("myserver", "myuser", "mypw") or die("Could not connect to database");

于 2012-06-27T17:58:28.190 回答
0

首先需要加载 php.ini 文件。如何加载 php.ini 文件

  1. 将文件 php.ini-production/php.ini-development 中的任何一个从 C:\PHP 重命名为 php.ini(注意现在扩展名为 ini,即“php.ini”)。
  2. 重命名为 php.ini 文件后重新启动服务器。以管理员身份打开文本编辑器,例如记事本。
  3. 在新文件中,键入以下文本:<?php phpinfo(); ?>
  4. 将文件另存为 C:\inetpub\wwwroot\Phpinfo.php。
  5. 打开浏览器并输入以下 URL: http://localhost/phpinfo.php

在此处输入图像描述

如何在 php.ini 中启用 mysqli

通过取消注释(删除';')以下配置行来编辑 php.ini:

// 1st (uncomment and add config): 
include_path = "C:\php\includes"

// <2nd (uncomment): 
extension_dir = "ext"

// 3rd (uncomment and edit config): 
extension=C:/PHP/ext/php_mysql.dll
extension=C:/PHP/ext/php_mysqli.dll

编辑后重新启动 IIS 服务器并确保系统上正在运行 mysql。

更改代码,即 phpinfo.php 文件以查看数据库连接

<?php
$servername = "localhost";
$username = "root";
$password = "";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
?>

在此处输入图像描述

于 2018-06-11T10:52:46.213 回答