PDO 操作mysql 报错 QLSTATE[3D000]: Invalid catalog name: 1046 No database

rualdeng 2016-06-15 07:18:51

$dsn = "mysql:host = $host;dbname = $dbname;charset = UTF-8";
echo $dsn.'<br/>';

try{
$dbh = new PDO($dsn,$user,$password);
echo'连接成功'.'<br/>';
} catch(PDOException $e) {
exit('数据库连接失败:'.$e->getMessage());


$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$sql = "insert into test (name,sex,age) values('xi','femal','30')";
$dbh->exec($sql);


}


PHP版本7.0 .1 mysql版本 5.7.11
用mysqli_connect 操作,可以增删改查操作数据库,证明数据库名等没有问题。用PDO 操作报错SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected。
求大神解答
...全文
788 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rualdeng 2016-07-22
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected 未选择数据库! 请贴出真实的代码!
是的,在回复之前我自己弄出来了,没有选择数据库。 分还是给你,谢谢解答。
静夜灬听风 2016-06-17
  • 打赏
  • 举报
回复
$dbname没有赋值吧?
xuzuning 2016-06-17
  • 打赏
  • 举报
回复
SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected 未选择数据库! 请贴出真实的代码!
Alan_Weng 2016-06-17
  • 打赏
  • 举报
回复
数据库$dbname有没给值
李睿_Lee 2016-06-16
  • 打赏
  • 举报
回复
哪行代码报这个错?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧