這行是否合法PHP?
$this->mongo->($this->db)->$collection_name->insert($document_name);
如果$ this-> db是一個帶db名稱的常量使用。
謝謝
這行是否合法PHP?
$this->mongo->($this->db)->$collection_name->insert($document_name);
如果$ this-> db是一個帶db名稱的常量使用。
謝謝
沒有,字符串(因此你常數)應該被包裹在括號,就像這樣:
$this->mongo->{$this->db}->$collection_name->insert($document_name);
嘗試使用大括號,而不是括號:
$this->mongo->{$this->db}->$collection_name->insert($document_name);
或者分配$this->db
到一個局部變量和使用,而不是:
$db_name = $this->db;
$this->mongo->$db_name->$collection_name->insert($document_name);
不,你不能有 - >() - >你有mongo - >($ this-> db) - > $ coll ... 也許你正在尋找
$this->mongo($this->db)->$collection_name->insert($document_name);
$connection->db->collection
是剛剛簡寫:
$this->mongo->selectDB($this->db)->selectCollection($collection_name)->insert(...);
這可能會在你的情況下更好地工作。如果你想堅持$x->y->z
的風格,那麼BoltClock的答案也是+1。
你想$this->mongo->selectDB($this->db)->$collection_name->insert($document_name)
聲明:我從來沒有使用過MongoDB。 (某天...) – BoltClock 2011-01-13 18:57:25