0
我是相當新的PHP,並沒有罰款,直到我打這個磚牆。任何幫助將不勝感激。調用未定義的方法用戶:: get_articles()
事實上,這是一個簡單的與我的合作伙伴溝通不暢的問題......他改變了目錄結構,但我不知道是哪一個導致了這個問題。這個問題可能被認爲是封閉的。謝謝你的幫助。
我有()中,我創造了這個get_articles()公共職能的一類用戶:
public function get_articles($obj_user){
try
{
$loc_dbo = $obj_user->connect();
$query = "CALL VIEW_MEMBER_ARTICLES(:in_var1)";
$stmt = $loc_dbo->prepare($query);
$stmt->bindParam(':in_var1',$obj_user->id, PDO::PARAM_INT);
$result = $stmt->execute();
if($result)
{
$arrArticles = array();
$index=0; //INDEX OF ROW IN ARRAY
while ($row = $stmt->fetch (PDO::FETCH_ASSOC))
{
//ADDING DATA TO A TWO-DIMENSIONAL ARRAY
//NAMED COLUMNS
$arrArticles[$index] = array();
$arrArticles[$index]['mem_user_name']=$row['mem_user_name'];
$arrArticles[$index]['article_post_date']=$row['article_post_date'];
$arrArticles[$index]['lvl_short_desc']=$row['lvl_short_desc'];
$arrArticles[$index]['article_subject']=$row['article_subject'];
$arrArticles[$index]['article_body']=$row['article_body'];
$arrArticles[$index]['pic_URL']=$row['pic_URL'];
$index++; //INCREMENT ROW INDEX COUNTER
}
$stmt->closeCursor(); //releases the bdd connection for another query.
return $arrArticles; //RETURNS THE ARRAY CONTAINING ARTICLES
}
else
{
return "Query Failed!";
}
}
catch(PDOException $e) {
return $e->getMessage();
}
}
}
從我所包含我的用戶類文件的網頁,我打電話像這樣這個函數:
$arr_posts = $p_user->get_articles($p_user);
for ($row = 0; $row < count($arr_posts); $row++)
{
for ($col = 0; $col < 6; $col++)
{
echo "<tr class=\"".active."\">";
echo "<td>\"".$row."\"</td>";
echo "<td>".$arr_posts[$row]['article_post_date']."</td>";
echo "<td>".$arr_art[$row]['article_subject']."</td>";
echo "<td>"."2"."</td>";
echo "</tr>";
}
}
$ p_user在頁面頂部作爲新用戶()聲明。我只是不明白爲什麼我得到一個錯誤,說方法是未定義的。
這不是OOP的工作原理:'$ p_user-> get_articles($ p_user);'。您不必傳入該對象,方法調用的目標在該方法內始終可用,如$ this這樣。 – meagar
我真的很感激你的快速回復。雖然我現在明白這個調用是可用的$ this ...它沒有解決我的問題與未定義的方法。 – wribit
這是評論,而不是你的問題的答案。 – meagar