我是 PHP 和 MySQL 的新手,最近在已经运行 IIS v6 的 Windows Server 2003 服务器上安装了 PHP v5.3.10 和 MySQL v 5.5.21。
PHP 运行,我已经从 MySQL 5.5 命令行客户端在 MySQL 上创建了一个数据库。
但是,当我尝试使用以下命令从 PHP 访问数据库时:
echo "Open database";
$link = mysql_connect($host, $username, $password);
echo " link: $link";
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db_name, $link)or die("cannot select DB");
echo " database open";
我得到以下返回到网页:
Open database
没有产生任何错误消息,并且在 mysql_connect 命令返回后没有任何内容
PHP 到屏幕上。
还尝试了下面的行,也没有返回任何错误消息:
mysql_connect($host, $username, $password) or die('Cannot connect:' . mysql_error());
有人知道为什么我无法建立连接并且无法从 mysql_connect 命令返回错误消息吗?
我检查了 MySQL,并尝试将主机定义为 %、localhost、本地主机 IP 和 IP:端口号(来自 my.ini 中列出的端口号 3306),但没有效果。
我在 mySQL 中只创建了一个用户名“root”,并使用一个密码(当我打开 MySQL 创建数据库时使用该密码)
我已将“php.ini”放置在“C:\Program Files\PHP”和“C:\WINDOWS”中。
该文件包含 'extension_dir = "C:\Program Files\PHP\ext"' 来指定扩展目录,并在文件末尾包含以下内容:
[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQL]
extension=php_mysqli.dll
我还尝试运行 phpinfo() ,它返回了 mysqlnd 的下表:
mysqlnd enabled
Version mysqlnd 5.0.8-dev - 20102224 - $Revision: 321634 $
Compression supported
SSL supported
Command buffer size 4096
Read buffer size 32768
Read timeout 31536000
Collecting statistics Yes
Collecting memory statistics No
Tracing n/a
所以我假设 php 应该能够连接。