這是我的測試代碼部分,不寫成函數,就可以連接,把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) 我也是個新手,一起努力呀~~
點擊展開后面1條
添加回答
舉報
0/150
提交
取消