
如果你是在本地测试,有数据库管理权限,可以查看下有没有 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)
以上情况,你根据自己的软件 配置,自行设置一下
故障状况:php网站连接mysql失败,但在命令行下通过mysql命令可登录并正常 *** 作。解决方案:
1、命令行下登录mysql,执行以下命令:
复制代码
代码如下:show
variables
like
'socket'
执行后会得到类似于如下回显:
复制代码
代码如下:
"Variable_name"
"Value"
"socket"
"/home/mysql/data/mysql.sock"
2、编辑php.ini,找到mysql.default_socket配置项,默认一般是空值(使用编辑Mysql时设置的sock路径),将此项添加值为上面回显中的"/home/mysql/data/mysql.sock":
复制代码
代码如下:
Default
socket
name
for
local
MySQL
connects.
If
empty,
uses
the
built-in
MySQL
defaults.
mysql.default_socket
=
/home/mysql/data/mysql.sock
3、重启php。
php连接数据库有两种方式:1.面向对象方式
$conn=new
mysqli('服务器名','用户名','密码','数据库名')
2.面向过程方式
$conn=mysqli_connet('服务器名','用户名','密码','数据库名')
如果在连接的时候没有指定要连接的数据库,可以用两种方式选择你要连接的数据库。
1.面向对象方式
$conn->select_db('数据库名')
2.面向过程方式
mysqli_select_db($conn,'数据库名')
如果你要查询数据库、插入数据到数据库,你可以这样做:
$query="select
*
from
数据表名";
1.面向对象方式
$result=$conn->query($query)
2.面向过程方式
$result=mysqli_query($conn,$query)
剩下的就是对结果集的 *** 作了,你可以对比着看看你的错误在哪里!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)