2014-10-30 53 views
0

嗨那裏我試圖從一個MongoDB服務器獲取信息並將其顯示在一個HTML表格中。我在這裏很困惑。所以這就是我所擁有的。 DB名稱是Astron_Test - >集合是astron.objects,在此表中我存儲了以下信息。php monogdb查詢顯示在表

array(
    "_id"=>100000005, 
    "dclass"=>"Distributed", 
    "fields"=>array(
     "Name"=>array(
      "_0"=>"Testing", 
     ), 
     "NameState"=>array(
      "_0"=>"PENDING", 
     ), 
     'setName': { 
      '_0': 'test name', 
     ), 

我有以下DB連接到數據庫:

$mongo = new MongoClient("mongodb://${username}:${password}@gameserver.host.com/"); 
$dbname = 'Astron_Test'; 
$db = $mongo->$dbname; 
$m = "${db}->astron.objects"; 

這裏是我使查詢

$SEARCH = $m->find(array(fields.NameState._0 => 'PENDING')); 

,這是問題,我是說我加載頁面

Fatal error: Call to a member find() on a non-object in 

謝謝

編輯爲alu 這是它。 Credital文件

$mongo = new MongoClient("mongodb://${username}:${password}@gameserver.host.com/"); 
$dbname = 'Astron_Test'; 
$db = $mongo->$dbname; 
$collectionName = 'astron.objects'; 
$m = $db->$collectionName;` 

搜索文件

require ('mongo_cred.php'); 
     $SEARCH = $m->find(array('fields->NameState->_0' => 'PENDING')); 
    foreach($SEARCH as $result) { 
     echo var_dump($result); 

回答

1

$m變量是在你的代碼串。 試試這個。

$collectionName = 'astron.objects'; 
$m = $db->$collectionName; 
$m-find(... 
+0

好了,以便現在工作與出錯,但我沒有得到任何數據返回。這就是我使用的是看它是否發現任何數據 '的foreach($ SEARCH爲$結果){' \t \t \t '回聲的var_dump($結果)是什麼; \t \t}' – Ryan 2014-10-30 02:24:41

+0

我可以看到您的完整代碼嗎? – alu 2014-10-30 02:30:33

+0

請參閱主文章中的編輯 – Ryan 2014-10-30 02:35:09