2011-05-14 177 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