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新手,还不太会面向对象~目前只懂点面向过程,跪求大神解答~

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

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

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