2013-12-07 4 views
0

У меня есть простой скрипт php для получения CSV-файла в массив и вставка каждой строки в MongoDB (CD Collection). Но каким-то образом вставка возвращает ошибку после первого успешного:Почему я получаю Неустранимая ошибка с этой функцией MongoDB?

"Fatal error: in C:\xampp\htdocs\mongo\lesson1\index.php on line 17" 

Вот код. Что может вызвать такую ​​ошибку? DB получает только один (первый).

$filename = 'd:/cd_col.csv'; // Each line: Title;No. of CD with movie 
$csvfile = fopen($filename,'rb'); 
while(!feof($csvfile)) { 
    $csvarray[] = fgetcsv($csvfile); 
} 
$m = new MongoClient(); 
$db = $m->mymovies; 
$collection = $db->movies; 
$id=0; 
foreach($csvarray as $key=>$value) 
{ 
    $movie = explode(';', $value[0]); 
    $fmovie = array('_id'=>++$id, 'title'=>$movie[0], 'cdno'=>$movie[1]); 
    if($collection->save($fmovie)===true) { // this is line 17 
     echo 'Successful insert: '.$key; 
    } 
} 
+0

Строка 17: if ($ collection ... – jakubplus

+0

Если я оставлю только: $ collection-> save ($ fmovie), он все еще производит ошибку – jakubplus

ответ

0

РЕШИТЬ:

Невозможно использовать сохранить в PHP, это так. Вы должны использовать $ collection-> insert(); вместо.

Смежные вопросы