mysql数据库连接不上php?

mysql数据库连接不上php?,第1张

换pdo 或者百mysqli

<?php//pdo try {$dbh = new PDO('mysql:host=localhostdbname=test', $user, $pass)} catch (PDOException $e) {die("Error!: " . $e->getMessage() . "")}?>//创建mysqli对象方度式 1//屏蔽连知接产生的错误$mysqli = new mysqli('127.0.0.1', 'root', '', 'test')//只能用函数来判断道是否连接成功回if(mysqli_connect_errno()){echo mysqli_connect_error()}//创建mysqli对象方式 2 可以设置一些参答数$mysqli = mysqli_init()$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 2)//设置超时时间$mysqli->real_connect('127.0.0.1', 'root', '', 'test')

用户密码不对。

如果你是在本地测试,有数据库管理权限,可以查看下有没有 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)

以上情况,你根据自己的软件 配置,自行设置一下

其实不用一开始就关心conn.php,建议先写一个最简单的php脚本来验证MYSQL数据库的连接、查询、关闭功能是否正常,测试脚本示例如下:

<?php

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db')

if ($mysqli->connect_error) {

die('Connect Error (' . $mysqli->connect_errno . ') '

. $mysqli->connect_error)

}

if (mysqli_connect_error()) {

die('Connect Error (' . mysqli_connect_errno() . ') '

. mysqli_connect_error())

}

echo 'Success... ' . $mysqli->host_info . "\n"

$mysqli->close()

?>

如果测试通过了,我们再来看为什么需要conn.php文件——不可能把数据的IP地址、用户名、密码等参数写入每一个PHP文件,办法就是做一个简单的conn.php来存放这些内容,所有需要连接MYSQL的程序都引用conn.php进行工作,所以conn.php中只要有如下一行即可:

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7430563.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存