本文目录一览:
- 1、php连接不上mysql但mysql命令行操作正常的解决方法
- 2、PHP无法连接mysql
- 3、PHP代码连接mysql数据库,我照着书上写为什么连接不上呢?
- 4、PHP的网站时常连接不上Mysql数据库。
php连接不上mysql但mysql命令行操作正常的解决方法
故障状况: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无法连接mysql
用户名密码不对。
如果你是在本地测试,有数据库管理权限,可以查看下有没有 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数据库,我照着书上写为什么连接不上呢?
就你上面的代码来看,存在二方面错误:
1、or语句写法错误,你的代码中,所有的or语句都和它之前的代码写在一起,没有空格,这是格式错误;
2、mysql_select_db函数被你写成了
mysql_selcet_db
修改后的代码:
?php
$host="localhost";
$user="root";
$password="770880520";
$dbase_name="wei";
$conn=mysql_connect($host,$user,$password)
or
die("连接mysql服务器失败".mysql_error());
echo
"mysql服务器:$host
用户名:$userbr";
mysql_select_db($dbase_name,$conn)
or
die("连接mysql数据库失败".mysql_error());
echo"数据库:$dbase_namebr";
echo"连接mysql数据库成功";
?
如果还是运行错误,请贴出错误提示信息
PHP的网站时常连接不上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);