用户名密码不对。
创新互联建站专注于耿马网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供耿马营销型网站建设,耿马网站制作、耿马网页设计、耿马网站官网定制、成都小程序开发服务,打造耿马网络公司原创品牌,更为您提供耿马网站排名全网营销落地服务。
如果你是在本地测试,有数据库管理权限,可以查看下有没有 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)
以上情况,你根据自己的软件 配置,自行设置一下
一、常用普通方法
$mysql_server="localhost";
$mysql_username="数据库用户名";
$mysql_password="数据库密码";
$mysql_database="数据库名";
//建立数据库链接
$conn = mysql_connect($mysql_server,$mysql_username,$mysql_password) or die("数据库链接错误");
//选择某个数据库
mysql_select_db($mysql_database,$conn);
mysql_query("set names 'utf8'");
//执行MySQL语句
$result=mysql_query("SELECT id,name FROM 数据库表");
//提取数据
$row=mysql_fetch_row($result);
在提取数据的时候,我们使用mysql_fetch_row,还可以使用mysql_fetch_assoc和mysql_fetch_array,具体的我们参考手册。
第二、面向对象方法
$db=new mysqli($dbhost,$username,$userpass,$dbdatabase);
if(mysqli_connect_error()){
echo 'Could not connect to database.';
exit;
}
$result=$db-query("SELECT id,name FROM user");
$row=$result-fetch_row();
第三、PDO方法
$dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';'
$dbh=new PDO($dsn,$username,$userpass);$stmt=$dbh-query('SELECT id,name FROM user');
$row=$stmt-fetch();
推荐第三种连接方式
首先确认数据库名是否写错,然后看引入路径是否正确。最后看语法是否正确。没有报错提示,只能想到这些。
这个错误的意思是文件没有找到,需要的文件名是:数据库连接.PHP
你检查文件是否存在,确保正确文件存在即可解决。
当然,有时候看起来存在,实际上电脑认为不存在,这就是汉字编码问题,看起来一样的汉字,在UTF-8、GBK下的电脑存储数据是不同的。建议所有的PHP文件名都使用英文,这样可以避免编码问题。
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,问题解决!
web方式的mysql数据库”
如果没理解错的话应该是phpmyadmin吧?
只是mysql的可视化而已
php连接mysq方式没变
使用php的数据库操作函数连接mysql即可,可以用以下代码测试是否能连接mysql:
?php
$link
=
mysql_connect("localhost(主机)",
"root(数据库用户)",
"(数据库密码)")
or
die("could
not
connect:
"
.
mysql_error());
("connected
successfully");
mysql_close($link);