这是我的测试代码部分,不写成函数,就可以连接,把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);
?>下面是浏览器打印结果1.object(PDO)[1]2.nullphp新手 跪求大神~
1 回答
已采纳
揍扁扁了
TA贡献11条经验 获得超4个赞
(1) 变量的作用范围。在函数中声明的变量就是局部变量,只能在自己的函数内部使用。将过程式转变为函数式后,$pdo2就属于是局部变量了,在函数之外调用,自然没结果。
(2)函数的返回值概念。函数可以有返回值,用于在函数之外得到函数内的变量。用return 返回 。这样~~
function connect(){ try{ $dsn='mysql:host=localhost;dbname=cyotel'; $username='root'; $password='root'; $pdo2 = new PDO($dsn,$username,$password); return $pdo2; //打印连接结果 }catch(PDOException $e){ echo $e->getMessage(); } } $pdo = connect(); var_dump($pdo);
(3) 我也是个新手,一起努力呀~~
添加回答
举报
0/150
提交
取消