mongodb并使用php在集合中插入值

时间:2014-04-14 20:38:53

标签: php mongodb collections

与Mongodb连接后   我已经创建了数据库项目     =>使用项目   然后我创建了收藏     => db.createCollection(" WaterMoneteringSystem" {封端:真,尺寸:2147483648,最大:20000})

然后我想通过php将值输入到集合中   所以这是我写的代码

<?php
$d=$_POST['dte'];
$t=$_POST['tme'];
$PH=$_POST['ph'];
$TU=$_POST['tbdity'];
$RO=$_POST['RdcdOxdtn'];
if($PH>14 || $PH<0)
{
echo "error";
}
else
{
$m = new MongoClient();
echo "Connection to database successfully";
select a database
$db = $m->project;
echo "Database project selected";
$collection = $db->WaterMoneteringSystem;
echo "Collection selected succsessfully";
$document = array(
"Date" => "$d",
"Time" => "$t",
"PH" => "$PH",
"Turbidity" => "$TU",
"Reduced Oxidation" =>"$RO"
);
$collection->insert($document);
echo "Document inserted successfully";
}
?>

但这不起作用

谢谢

1 个答案:

答案 0 :(得分:1)

好的,我重新创造了你所拥有的东西,它似乎对我有用。以下是我使用的确切代码:

$mongo = new MongoClient(); $db = $mongo->project;

$d = '2014-04-14';
$t = '18:14:00';
$PH = 7;
$TU = 'Huh What?';
$RO = 'yes';


if(($PH > 14) || ($PH < 0)) {
    echo "error";
}
else {

    $document = array(
        "Date" => $d,
        "Time" => $t,
        "PH" => $PH,
        "Turbidity" => $TU,
        "Reduced Oxidation" => $RO
    );


    $db->WaterMoneteringSystem->insert($document);


    echo "Document inserted successfully";

}

当我去数据库时,一切都在那里:

MongoDB Screenshot

我做过的唯一事情,就是从变量中删除引号,只是改变了它连接数据库的方式。但是,这些都不应该影响任何东西,所以我不确定。尝试将我的代码粘贴到您的脚本中,看看是否有效。

但是,我确实回过头来使用你的确切代码(除了注释掉select a database行并定义我自己的$_POST变量,因为我没有它们)和它也插入了记录就好了。

话虽这么说,但是你的脚本的另一部分是不可思议的。你能从数据库中选择记录吗?意思是,您的连接是否正确设置,您不必指定主机,用户名或密码?我建议,检查那里的问题。

另外,您是否在页面上显示“文档已成功插入”消息?当我运行您的确切代码时,我得到了这个:

Connection to database successfullyDatabase project selectedCollection selected succsessfullyDocument inserted successfully

检查以确保您的消息也是如此。