2011-05-14 96 views
2

我花了2個小時在Stack Overflow上關於這個問題的其他幾篇文章中尋找,他們似乎比我所需要的更復雜。我試圖做__toString函數,但我認爲我沒有做到正確。PHP對象到字符串

我想獲取$ personid的sql語句並將其轉換爲字符串,以便我可以在其他sql方法中使用它。

$personid = $this->db->query('SELECT person_id FROM person'); 

$fullname = $this->db->query("SELECT person_fname, person_lname FROM person 
          WHERE person_id = '".$personid."';"); 

$sport = $this->db->query("SELECT sport_name FROM person_sport_rel A1 
         INNER JOIN sport A2 ON A1.sport_id = A2.sport_id 
         WHERE person_Id = '".$personid."';"); 

正如其他職位有問題..我收到的錯誤是

Object of class CI_DB_mysql_result could not be converted to string 

我嘗試添加的構造和建議對PHP的網站,但到在CI_DB_mysql_result類的__toString無濟於事

回答

2

當你運行該查詢你可能會返回一堆的id的:

$personidsQuery = $this->db->query('SELECT person_id FROM person'); 

所以,當你想在新的查詢重新使用它,這是可能更有趣:

$sql = "SELECT person_fname, person_lname FROM person WHERE person_id = ?"; 
foreach ($personidsQuery->result() as $row) 
{ 
    $namesQuery = $this->db->query($sql, array($row->person_id)); 
} 

的CI userguide是一個很好的幫助:http://www.codeignitor.com/user_guide/database/

+0

謝謝FO幫忙!我終於在兩人的幫助下完成了代碼! – 2011-05-16 06:07:30