我是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_MYSQLI]
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应该能够连接。
答案 0 :(得分:4)
试试这个:
ini_set('display_errors',1);
error_reporting(E_ALL);
答案 1 :(得分:0)
镜像@Jrod:
听起来有点失败,而且您的错误报告设置得不够高,无法显示。您可以尝试将其添加到脚本的顶部:
error_reporting(E_ALL);