我有一個使用的功能:調用一個成員函數準備()非對象與PDO
require_once("connect.php");
function get_username($uid){
$stmt = $pdo->prepare("SELECT username FROM users WHERE uid= ?");
try {
$stmt->execute(array($uid));
} catch (PDOException $e) {
echo $e -> getMessage(); exit;
}
$row = $stmt->fetch();
return($row['username']);
}
$id = 1;
echo get_username($id);
但它說:
Call to a member function prepare() on a non-object
我有點糊塗上這是什麼意思,我錯了,我想知道是否因爲我在函數中使用它?
編輯:
我的連接script¬
$dsn = 'mysql:dbname=test_db;host=127.0.0.1';
$user = 'test_user';
$password = 'test_pass';
try {
$pdo = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
exit;
}
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
error_reporting(E_ALL);
session_start();
首先創建$的對象傳遞
$pdo
pdo然後用,就這麼簡單 –