<?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')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)