1

POSTフィールドをMongoDBに保存する際に小さな問題があります

function savedata($data){
        $collection = $this->db->retail_logs;
        $this->data = json_decode($data);


        try {
        $collection->update(
            array("tradingname"=>$this->data['tradingname']),
            $this->data, "date"=> date("d.m.Y"), "time"=>date("H:i:s"),"whochanged"=>$_COOKIE['CRMUIDkey']), // new lead document to insert
            array("upsert" => true, "safe" => true)
            );
        } catch (Exception $e) {
            // Something went wrong .. 
        }
    }

何らかの理由で、$_POST を保持する $this->data がそこに行きたくない場合、このエラーが発生します

Warning: json_decode() expects parameter 1 to be string, array given in /home/crmvip/public_html/system/db/mongo.php on line 294

Warning: MongoCollection::update() expects at most 3 parameters, 4 given in /home/crmvip/public_html/system/db/mongo.php on line 302

本来のようにPOST情報を送信しますtradingname=monkey&street=abc

4

1 に答える 1

1

json_decodeは JSON をデコードするためのものです。

dataPOST リクエストで受け取った値を保存したいだけの場合:

   $this->data = $_POST['data'];
于 2012-07-26T05:20:07.767 に答える