第六部分 PHP实例
第六部分 實戰(zhàn)篇
想在PHP中調(diào)用Mongo需要安裝MongoDB的PHP擴展
1) 首先下載最新的php mongodb擴展源碼,源碼可以在http://pecl.php.net/paclcage/mongo下載
2) 解壓
wget http://pecl.php.net/paclcage/mongo
tar zxf mongo-1.2.6.tgz
ch mongo-1.2.6
3) 進入文件夾后,運行phpize來準備編譯擴展的環(huán)境
/usr/local/php/bin/phpize
4) 運行后,我們運行./configure腳本來進行配置
./cinfigure --with-php-config=/usr/local/php/bin/php-config
--with-php-config這個參數(shù)是告訴配置腳本php-config這個程序的路徑
5)這里用make來編譯擴展
make && make install
正確編譯數(shù)據(jù)結(jié)果
完成后,請編輯你的php.ini文件增加一行
extension=mongo.so
一般默認的編譯php.ini文件/usr/local/php/etc/php.ini
重啟Apache打開phpinfo
看到mongo 模塊,主證明MongoDB的php擴展安裝成功
?
這塊安裝配置在服務(wù)器上太慢了,網(wǎng)慢哦,等虛擬機弄起來在弄吧
給php打mongo模塊
(1): 執(zhí)行 /usr/local/php/bin/phpize
(2): ./configure --with-php-config=/usr/local/php/bin/php-cinfig --enable-mongo
(3): 在php.ini中添加上mongo.os加上去
(4): 重載apache
后面講這種弄不懂樣,多看看他們的視頻吧
在php的mongo擴展中,提供了四類接口(對象):
1 針對mongoDB連接的操作:Mongo
2 針對mongoDB中數(shù)據(jù)庫的操作: MongoDB
3 針對MongoDB中collection的操作: MongoCollection
4 針對查詢結(jié)果集的操作:MongoCursor
1 連接Mongo服務(wù)器
$db->close();
?
?
?連接數(shù)據(jù)庫:
<?php
$conn = new Mongo("mongodb://user1:123456@localhost:27017/test");
$db = $conn->test;
?>
查詢數(shù)據(jù):
<?php
include "conn.php";
$c1 = $db->c1;
//db.c1.find({"age":{$gt:40}});
//{name:"user1"}==array("name"=>"user1");
//[1,2] = array(1,2);
$arr = array();
$ret = $c1->find($arr);
foreach ($ret as $val) {
//echo "id:{$val['_id']}<BR>";
///echo "name:{$val['name']}<BR>";
$age = isset($val['age']) ? $val['age'] : 0;
echo "<a href='user.php?id={$val['_id']}'>{$val['name']}</a> age:{$age}---<a href='delete.php?name={$val['name']}'>del</a>--<a href='update.php?id={$val['_id']}'>update</a>";
echo "<BR><BR><BR>";
}
?>
修改:
<?php
include "conn.php";
$c1 = $db->c1;
//$db.c1.update({name:"user1"},{$set:{age:300}});
$id = new MongoId($_GET['id']);
$arr=array('_id'=>$id);
$darr = array('$set'=>array('age'=>250));
$opts = array('upsert'=>false,'multiple'=>true);
//相當于db.update()后面的第三跟第四個叁數(shù)
if($c1->update($arr,$darr, $opts)){
echo "<script>location='find.php'</script>";
}else{
echo "更改失敗!";
}
?>
?
插入:
<?php
include "conn.php";
$c1 = $db->c1;
//db.c1.insert({name:"user3", age:30, sex:"man"});
$arr = array("name"=>"user3", "age"=>30, "sex"=>"man");
if($c1->insert($arr)){
echo "<script>location='find.php'</script>";
}else{
echo "插入數(shù)據(jù)失敗!";
}
?>
?
?
刪除:
<?php
include "conn.php";
$c1 = $db->c1;
//db.c1.remover({"name":"user2"});
$name = $_GET['name'];
if(!empty($name))
{
$arr = array("name"=>$name);
if($c1->remove($arr)){
echo "<script>location='find.php'</script>";
}else{
echo "刪除失敗";
}
}else{
echo "數(shù)據(jù)為空!";
}
?>
?
詳細信息:
<?php
include "conn.php";
$c1 = $db->c1;
//db.c1.find({_id:ObjectId("123456")};
$oid = new MongoId($_GET['id']);
$arr = array("_id"=>$oid);
$ret = $c1->findOne($arr);
var_dump($ret);
?>
?
?
總結(jié)
以上是生活随笔為你收集整理的第六部分 PHP实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Single Page Applicat
- 下一篇: 唐中印 项目管理实战专家简介