您好,欢迎访问一九零五行业门户网

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

$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 |
+----+-----------+
还是不行
不知道为什么,必须密码和账号了
其它类似信息

推荐信息