Что может быть не так с этим запросом MongoDB update $ set через PHP? - PullRequest
0 голосов
/ 06 февраля 2012

Я немного застрял с обновлением коллекции.

Итак, у меня есть этот запрос:

$coll->update(
            array("_id" => new MongoId($_POST["id"])),
            array("$set" => array(
                "contentType" => htmlspecialchars(strip_tags(trim($_POST["type"]))),
                "contentTitle" => htmlspecialchars(strip_tags(trim($_POST["title"]))),
                "contentBody" => htmlspecialchars(strip_tags(trim($_POST["content"])))
            )),
            true,
            false
        );

Пожалуйста, не беспокойтесь о способе проверки $ _POSTЭто всего лишь тест, но он не работает.Коллекция в порядке, я проверил это.Он ничего не делает, и когда я вставляю var_dump($db->lastError());, он вообще не дает никаких ошибок.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012

Хорошо, у меня есть решение на данный момент.

$r = $coll->findOne(
            array(
                "_id" => new MongoId($_POST["id"])
            )
        );
        //
        $r["contentType"] = htmlspecialchars(strip_tags(trim($_POST["type"])));
        $r["contentTitle"] = htmlspecialchars(strip_tags(trim($_POST["title"])));
        $r["contentBody"] = htmlspecialchars(strip_tags(trim($_POST["content"])));
        //
        $coll->save($r);

Так что это работает отлично.Однако я бы очень хотел узнать предыдущую вещь ... = P Если кто-нибудь знает, почему это не работает, не стесняйтесь отвечать!=]

0 голосов
/ 06 февраля 2012

проверьте ваши логи apache, это может помочь. на основе update третий параметр - это массив. Вы можете придерживаться этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...