重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
先用phpinfo();看一下是否支持mysql。
创新互联建站-专业网站定制、快速模板网站建设、高性价比武冈网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式武冈网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖武冈地区。费用合理售后完善,10多年实体公司更值得信赖。
要是没有,还是配置有问题。
Loaded
Configuration
File
看看php.ini是读哪个路径下的
php.ini
里extension
=
php_mysql.dll前的分号已经去掉了,extension_dir
=
"X:/php/ext"也改为了自己ext文件夹的路径,libmysql.dll和php5ts.dll也复制到Windows目录下的
system32
文件夹下
$db = mysql_select_db("after".$con) or die ("不能连接所选的数据库");
连接符是“,”
用户名密码不对。
如果你是在本地测试,有数据库管理权限,可以查看下有没有 bookhbw这个用户
select * from mysql.user
如果没有可以新建用户,或者在代码里直接使用root账户及密码连接(测试环境无所谓,如果是正式环境,一定要单独建一个用户,分配对应数据库的权限 )
-- 创建用户
create user bookhbw@'localhost' identified by '密码';
-- 授权用户指定的数据库权限
GRANT ALL PRIVILEGES ON 数据库名.* TO 'bookhbw'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
如果你的数据库中已经有这个账户,看下这个账户设置的Host 是localhost还是ip 还是 %
如果是ip 或者 % 则连接的服务器地址只能写ip 不能写localhost (可以新建一个同名用户绑定localhost)
以上情况,你根据自己的软件 配置,自行设置一下
请检查以下几点问题
① 数据库文件 未导入覆盖
② 根目录未配置数据库
③ 检查数据库账号密码是否正确填写
1、检查环境正常
使用mysql -u root -p 可以进入MySQL操作界面
直接使用/usr/local/php5/bin/php /web/test.php执行可以连上数据库
2、打开hosts加入
复制代码代码如下:127.0.0.1 qttc
使用qttc当主机连接也正常,唯独就不认localhost。
3、localhost连接方式不同导致
为了了解PHP连接数据库时,主机填写localhost与其它的区别阅读了大量资料,最后得知:
当主机填写为localhost时mysql会采用 unix domain socket连接
当主机填写为127.0.0.1时mysql会采用tcp方式连接
这是linux套接字网络的特性,win平台不会有这个问题
4、解决方法
在my.cnf的[mysql]区段里添加
复制代码代码如下:
protocol=tcp
保存重启MySQL,问题解决!
首先确认数据库名是否写错,然后看引入路径是否正确。最后看语法是否正确。没有报错提示,只能想到这些。