0

PHP ファイルに直接アクセスすると、データベースから結果が返されませんが、echo以下のすべてのチェックで期待される結果が返されます。

これは PHP ファイル全体です。

<?php 

$ext = new ReflectionExtension('mongo');  // see http://php.net/manual/en/reflectionextension.getversion.php
var_dump($ext->getVersion());  // returns string(5) "1.3.4"

echo extension_loaded("mongo") ? "loaded<br />" : "not loaded<br />";  // check if driver installed - returns "loaded"

$dbhost = '127.x.xx.x';
$dbname = 'mydb';
$m = new Mongo("mongodb://$dbhost");  // also tried 'MongoClient' rather than 'Mongo'
if ($m == true) {
echo "<br />connected to {$m}<br />";  // returns "connected to 127.x.xx.x:27017
}
$db = $m->$dbname;
$collection = $db->myCollection;
echo "<br />my collection is called {$collection}<br />";  // returns "my collection is called mydb.myCollection"
$query = $collection->find();
if ($query == true) {
echo "<br />the find method works";  // this is being returned
}
foreach($query as $result) { // nothing is happening here
var_dump($result);
}

?>

コマンド ライン クエリ:

db.myCollection.find();

期待される結果を返しています (1 つのドキュメントがあります)。

4

2 に答える 2

0

PECL mongo lib のどのバージョンを使用していますか? >= 1.3.0 (現在は 1.4.3 安定版) の場合、このMongoクラスは非推奨であり、MongoClient代わりに使用することをお勧めします。phpDocを参照してください。

于 2013-09-03T12:52:19.013 に答える