2012-03-31 4 views
0

Я очень долго работал над попыткой выправить это, но я просто не могу найти, где моя проблема. Я пытаюсь добавить запись в PHP в моем Монго DB (Это settup уже, и я испытал образец кода, чтобы убедиться, что он работает)MongoDB не добавляет записей

код для добавления записи выглядит следующим образом:

// add a record 
$obj = array("title" => "Calvin and Hobbes", "author" => "Bill Watterson"); 
$collection->insert($obj); 

Мой код для добавления записи:

$obj = array($currentarray[0][$currentCol] => $currentarray[$currentRow][$currentCol]); 
$collection->insert($obj); 

Если я print_r объект:

Array ([President ] => George Washington) Array ([Wikipedia Entry] => http://en.wikipedia.org/wiki/George_Washington) Array ([Took office ] => 30/04/1789) Array ([Left office ] => 4/03/1797) Array ([Party ] => Independent) Array ([Portrait] => GeorgeWashington.jpg) Array ([Thumbnail] => thmb_GeorgeWashington.jpg) Array ([Home State] => Virginia) 

B ут, если я искать, скажем, «Портрет», я получаю сообщение об ошибке:

DB Notice: Undefined index: Portrait in /home/me/public_html/yes.php on line 74 

Дополнительный код:

// connect 
$m = new Mongo(); 

// select a database 
$db = $m->data; 

// select a collection (analogous to a relational database's table) 
$collection = $db->test; 

do{ 
while(comparison statement){ 
$obj = array($currentarray[0][$currentCol] => $currentarray[$currentRow][$currentCol]); 
$collection->insert($obj); 
} 
} while (comparison statement); 

// find everything in the collection 
$cursor = $collection->find(); 

// iterate through the results 
foreach ($cursor as $obj) { 
    echo $obj["Party "] . "\n"; 
} 
+0

Есть ли запись в базе данных? Вы можете проверить, что с помощью клиента MongDB с именем 'mongo' –

+0

Можете ли вы уточнить? Я очень новичок в php и MongoDB, и мне только удалось пройти, посмотрев документацию. – EGHDK

+0

Попробуйте запустить оболочку MongoDB: 'путь/to/mongodb/bin/mongo' Он подключается к серверу, если он работает на одном компьютере и слушает порт 1527 (я думаю). I Ваш сервер не находится на одной машине или не слушает другой порт, вам нужно использовать некоторые параметры при запуске оболочки. Теперь, если у вас есть соединение, вы можете запросить данные в базе данных. Сначала вам нужно выбрать базу данных с помощью 'use'-stmt. А затем введите 'db.mycollection.find()', чтобы получить список всех ваших записей. Напишите 'help', чтобы получить список утверждений больше. –

ответ

0

Итак, я понял, моя проблема (по крайней мере сейчас). Мои записи. Добавили в мою базу данных (показал мне быстрый print_r ($ obj) по последней проблеме). Итак, теперь мои единственные проблемы - это их правильное извлечение, так как из-за этого возникают мои ошибки.

Update: Я получаю ошибки, когда я пытался получить их, потому что я пытался «Портрет» во всех моих массивов. Вот почему я технически получил около 7 ошибок и 1 фактический ответ из моего запроса на получение.