2014-04-14 71 views
0

插入在採集值 =>使用項目 然後我已創建的集合 => db.createCollection(「WaterMoneteringSystem」,{封端:真,尺寸: 2147483648,最大:20000})mongodb的並用的MongoDB 連接我已創建數據庫項目後用PHP

然後我想通過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"; 
} 
?> 

代碼但這不是工作

謝謝

+0

你會得到什麼錯誤? –

+0

你是否在你的'$ _POST'變量中得到任何數據?另外,'select a database'行沒有被註釋掉,所以會引發錯誤。 – Quixrick

+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變量,因爲我沒有它們),它也插入了記錄就好了。

這就是說,它必須是你的腳本的另一部分是不可靠的東西。你能夠從數據庫中選擇記錄嗎?意思是,你的連接設置是否正確,你不必指定主機,用戶名或密碼?我建議,檢查那裏的問題。

另外,你是否在頁面上看到「Doc​​ument inserted successfully」消息?當我跑你確切的代碼,我得到這個:

Connection to database successfullyDatabase project selectedCollection selected succsessfullyDocument inserted successfully 

檢查,以確保您的郵件看起來像這一點。

+0

謝謝你幫助我。但事物是諸如日期,時間Ph等值由用戶給出,因此必須使用$ _POST。 –

+0

這不是問題;在這種情況下不應該有所作爲。換掉我爲$ _POST準備的東西,它也會做同樣的事情。我所暗示的是這個問題是在你的代碼中的其他地方,而不是你的MongoDB插入查詢。我能夠接受您的查詢並將其正確插入到MongoDB中。我看不到你要輸入什麼值,但也許先用一個值或一個硬編碼值嘗試它,然後慢慢地逐個替換它們,看看是否有任何值正在拋出你的查詢。如果你不能插入一個單一的硬編碼值,你知道問題在別處 – Quixrick