我想在循環內創建一個類的對象,但我無法弄清楚我在做什麼錯誤。 這是我的選擇功能。在for循環中創建一個對象
public function admin_select_all ($table, $rows = '*', $where = null, $order = null)
{
if(empty($table))
{
return false;
}
$q = 'SELECT '.$rows.' FROM '.$table;
if($where != null)
$q .= ' WHERE '.$where;
if($order != null)
$q .= ' ORDER BY '.$order;
if($this->admin_tableExists($table))
{
$stmt = $this->admin_connection->prepare($q);
$stmt->execute();
$results = $stmt->fetchAll();
if((!$results) or (empty($results))) {
return false;
}
return $results;
}
}
這是類admin_element的構造
public function __construct($itemId)
{
global $db_operate;
$info = $db_operate->admin_select_all ("my_table" ,"id=".$itemId);
$this->id = $info[0]['id'];
$this->title = $info[0]['title'];
$this->seoUrl = $info[0]['seo_url'];
$this->parentId = $info[0]['parent_id'];
$this->isMenuItem = $info[0]['menu_item'];
$this->order = $info[0]['menu_order'];
$this->htmlId = $info[0]['anchor_unique_html_id'];
}
//這裏面admin_element的功能,我想,當我創建爲循環
public static function getRootItems()
{
global $db_operate;
$parents = $db_operate->admin_select_all ("my_table");
$listOfItems = array();
for($i=0;$i<count($parents);$i++)
{
$listOfItems[$i] = new admin_element($parents[$i]['id']);
}
//var_dump($listOfItems);
return $listOfItems;
}
}
內創建一個對象現在一個對象與此然後我在構造函數中獲取錯誤未定義的ID,當我var_dump數組,然後我得到的錯誤等於總長度$父,這是我返回的數組。我不知道我在做什麼錯。我也嘗試與foreach,但仍然沒有成功。
//用foreach我嘗試,但不能創建和對象
foreach($parents as $row) {
$listOfItems[] = array(
'id' => $row['id']
);
}
這裏的時候,我的var_dump的$ LISTOFITEMS數組,那麼它的工作很好,但是當我嘗試實例化對象那麼它也失敗,請一些幫助。如果在我道歉之前詢問這個問題。
'$ Q = 'WHERE' $哪裏;'難道你不知道[小誘殺刪除表( https://xkcd.com/327/)? – 2015-11-02 20:51:33
我知道檢查函數參數的$ where是從那裏來的 –
你在'$ info = $ db-> select(「my_table」,id =「。$」)中有'id =「。$ itemId'的語法錯誤itemId);' – Sean