我有以下代碼:PHP函數問題中PDO查詢
function user_name($id) {
$eqpt_name1 = $this->sql->query("SELECT `f_val` FROM `profiles` WHERE `u_id` = $id AND `f_id` = 1");
$eqpt_name1_2 = $eqpt_name1->fetch();
$name1 = $eqpt_name1_2['f_val'];
$eqpt_name2 = $this->sql->query("SELECT `f_val` FROM `profiles` WHERE `u_id` = $id AND `f_id` = 2");
$eqpt_name2_2 = $eqpt_name2->fetch();
$name2 = $eqpt_name2_2['f_val'];
$name3 = $name1 . " " . $name2;
return $name3;
}
它的作用是把提供的用戶ID($ ID),並獲取第一個($名1)和去年($名2)名稱然後輸出它。
我通過執行以下操作
$username = user_name($_SESSION['user_id']);
$_SESSION['user_id']
是1
,例如調用它。
當我手動將代碼放入PHP文件時,它工作正常。但是,當我用一個函數這樣我就可以在全球使用它在整個網站,所以我不必在每個網頁上長的查詢代碼,Apache的給了我這個錯誤:
PHP Fatal error: Call to a member function query() on a non-object
我沒寫過一個函數,它有一個查詢之前,不知道我做錯了什麼。
你試過了什麼?什麼都沒有奏效?你已經做了什麼研究來解決這個問題?你是否在互聯網上搜索了這條錯誤消息?你發現了什麼?什麼導致了他人的錯誤?什麼解決了他們的問題 – Charles
我確實環顧四周。所有其他的例子都使用了準備好的語句,我還沒有掌握它。沒有這個功能,並且在一個頁面中對這組代碼進行硬編碼就可以正常工作。不知道爲什麼查詢在函數中無法正常工作。 –
這不是您的查詢或準備好的語句錯誤。您是否嘗試尋找導致「調用成員函數...在非對象」錯誤的原因? – Charles