我是PDO的新手,所以很抱歉,如果這可能相當簡單,但我花了數小時試圖找到答案,因此不得不發佈。調用PDO查詢錯誤的函數
我有存儲在我的函數文件中的函數:
function insertlogs($user)
{
$page = basename($_SERVER['PHP_SELF']);
$ip = GetIP();
$ub = getBrowser();
$regdate = date("Y-m-d");
$regtime = date("H:i:s");
try{
$sql = "INSERT INTO admin_logs (id,
page,
ip,
browser,
loggedinuser,
date,
time) VALUES (
:gid,
:page,
:ip,
:ub,
:user,
:regdate,
:regtime)";
$stmt = $db->prepare($sql);
$stmt->bindParam(':gid', $gid);
$stmt->bindParam(':page', $page);
$stmt->bindParam(':ip', $ip);
$stmt->bindParam(':ub', $ub);
$stmt->bindParam(':user', $user);
$stmt->bindParam(':regdate', $regdate);
$stmt->bindParam(':regtime', $regtime);
$stmt->execute();
}
catch(PDOException $e) {
echo $e->getMessage();
}}
當我運行這個獨立正常工作。但是,當我調用這個函數insertlogs($ user);它給了我致命錯誤:調用一個成員函數prepare()中的一個非對象....錯誤。
我檢查了連接,這似乎很好,我只是不知道嗎?任何幫助或指針將不勝感激。
您確定'$ db'是一個PDO對象嗎? – Ohgodwhy
你還沒有在任何地方定義'$ db'。 – PeeHaa
該函數是否可以訪問'$ db'? – hjpotter92