tfzh 2016-08-23 01:41 采纳率: 25%
浏览 916
已采纳

pdo函数无法连接数据库

这是我的测试代码部分,把pdo连接的语句 写成函数后就连接不了数据库了。
<?php
header('content-type:text/html;charset=utf8');
//链接数据库

//1.非函数,成功连接
try{

$dsn='mysql:host=localhost;dbname=cyotel';

$username='root';
$password='root';
$pdo=new PDO($dsn,$username,$password);
//打印连接结果

}catch(PDOException $e){
echo $e->getMessage();

}
var_dump($pdo);

//2.函数,连接失败
function connect(){
try{

$dsn='mysql:host=localhost;dbname=cyotel';

$username='root';
$password='root';
$pdo2=new PDO($dsn,$username,$password);
//打印连接结果

}catch(PDOException $e){
echo $e->getMessage();
}
}
connect();
var_dump($pdo2);
?>

浏览器中的测试打印结果
图片说明
php新手,还不太会面向对象~目前只懂点面向过程,跪求大神解答~

  • 写回答

1条回答 默认 最新

  • 泰 戈 尔 博客专家认证 2016-08-23 03:05
    关注

    你的$pdo2是定义在function里面的,也就是说其将作为局部变量。然而你在外边直接调用了connect函数。

    所以在函数的外边是访问不到$pdo2的,所以才会报出 Undefined variable的错误。这下明白了吧。

    希望对你有所帮助。 :-)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 adb连接不到手机是怎么回事?
  • ¥20 抓取数据时发生错误: get_mooncake_data() missing 1 required positional argument: 'driver'的问题,怎么改出正确的爬虫代码?
  • ¥15 vs2022无法联网
  • ¥15 TCP的客户端和服务器的互联
  • ¥15 VB.NET操作免驱摄像头
  • ¥15 笔记本上移动热点开关状态查询
  • ¥85 类鸟群Boids——仿真鸟群避障的相关问题
  • ¥15 CFEDEM自带算例错误,如何解决?
  • ¥15 有没有会使用flac3d软件的家人
  • ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,