当前位置:Gxlcms > PHP教程 > pdo为什么不用用户名和密码可以操作成功

pdo为什么不用用户名和密码可以操作成功

时间:2021-07-01 10:21:17 帮助过:10人阅读

$dsn = "mysql:host=localhost;dbname=test";  try{    $pdo = new PDO($dsn);    echo "连接成功";    }catch(PDOException $e){    echo "连接失败".$e->getMessage();}try{	  $pdo->beginTransaction();	  $goodprice = 5;	  $id_out = 15;	  $id_in =16;	  $sql1 ="update price set goodprice = goodprice -{$goodprice} where id ={$id_out}";	  $sql2 ="update price set goodprice = goodprice +{$goodprice} where id ={$id_in}";    	 	  if(!$affectd_rows =$pdo->exec($sql1)){	  	  throw new PDOException("{$id_out}转出失败");	  }	  if(!$affectd_rows =$pdo->exec($sql2)){	  	  throw new PDOException("{$id_in}转入失败");	  }	  $pdo->commit();	   echo "提交成功";}catch(PDOException $e){	  echo $e->getMessage();         $pdo->rollback();} 


pdo为什么不用用户名和密码可以操作成功 ?我的数据库名和密码都是root,这有关系吗?


回复讨论(解决方案)

你肯定还有一个root用户的密码为空

你肯定还有一个root用户的密码为空


我的数据库名和密码都是root,而且密码不为空。

贴出mysql数据库下user表信息,就知道你的账号信息。

这个应该没有问题吧?

这个应该没有问题吧?


2个root是空密码 一个什么都不用

改密码后,报了 Access denied for user ''@'localhost' to database 'mysql'错误

改密码后,报了 Access denied for user ''@'localhost' to database 'mysql'错误


删掉多余用户 然后看看初始的root权限。。

改密码后还是这样,不用数据库用户名和密码就可以操作成功。。

删掉密码为空的用户,只保留一个root用户,密码为root的那个,看看还能不能连接上

mysql> select user,password,host from mysql.user;
+------+-------------------------------------------+-----------+
| user | password | host |
+------+-------------------------------------------+-----------+
| root | *615C20A218B2D0A3259776CEDF21E8E295121158 | 127.0.0.1 |
| root | *615C20A218B2D0A3259776CEDF21E8E295121158 | ::1 |
+------+-------------------------------------------+-----------+
2 rows in set (0.00 sec)

mysql> select * from price;
+----+-----------+
| id | goodprice |
+----+-----------+
| 15 | 125 |
| 16 | 121 |
| 17 | 15 |
+----+-----------+

还是不行

不知道为什么,必须密码和账号了

人气教程排行