在codeigniter mongodb中插入函数的位置
Posted
技术标签:
【中文标题】在codeigniter mongodb中插入函数的位置【英文标题】:where to insert functions in codeigniter mongodb 【发布时间】:2014-02-04 00:37:57 【问题描述】:我已在 codeigniter 驱动程序的帮助下将我的 php web 应用程序连接到 mongodb。
现在我正在使用 mongoo_db 类将集合插入到默认数据库 db_name 中。
我的文件的源代码是,
ghy.php
<?php
/**
* @author
* @copyright 2014
*/
class ghy
public $id;
public $name;
public function insert($collection = "", $data = array())
if(empty($collection))
show_error("No Mongo collection selected to insert into", 500);
if(count($data) == 0 || !is_array($data))
show_error("Nothing to insert into Mongo collection or insert is not an array", 500);
try
$this->db->$collection->insert($insert, array('safe' => TRUE));
if(isset($insert['_id']))
return($insert['_id']);
else
return(FALSE);
catch(MongoCursorException $e)
show_error("Insert of data into MongoDB failed: $e->getMessage()", 500);
$use=$this->mongo_db->insert('foo', $data = array('4','hgfh'));
var_dump();
?>
问题是我的浏览器没有得到任何输出。
谁能解释一下我哪里出错了?尽快回复将不胜感激。
谢谢你
【问题讨论】:
尝试echo
你的输出,即echo var_dump($use)
@Renier 我试过没有显示任何内容。你能告诉我如何在 php 程序中使用活动驱动程序库。即如何使用连接字符串建立与 mongodb 的连接
ghy.php
在哪里?即ci/models/ghy.php
?
它位于 xampp/htdocs/phppjct
【参考方案1】:
我不确定您的课程为什么不起作用,但要了解 MongoDB 和 Codeigniter 如何协同工作,请查看answer。
来自answer 回答您关于如何建立与 MongoDB 的连接的问题:
config/mongo.php
$config['mongo_server'] = null;
$config['mongo_dbname'] = 'mydb';
库/Mongo.php
class CI_Mongo extends Mongo
var $db;
function CI_Mongo()
// Fetch CodeIgniter instance
$ci = get_instance();
// Load Mongo configuration file
$ci->load->config('mongo');
// Fetch Mongo server and database configuration
$server = $ci->config->item('mongo_server');
$dbname = $ci->config->item('mongo_dbname');
// Initialise Mongo
if ($server)
parent::__construct($server);
else
parent::__construct();
$this->db = $this->$dbname;
还有一个示例控制器
controllers/posts.php
class Posts extends Controller
function Posts()
parent::Controller();
function index()
$posts = $this->mongo->db->posts->find();
foreach ($posts as $id => $post)
var_dump($id);
var_dump($post);
function create()
$post = array('title' => 'Test post');
$this->mongo->db->posts->insert($post);
var_dump($post);
来自question如上答案:
MongoDB 在 CodeIgniter 社区中得到了很好的支持,花点时间潜入:p
CodeIgniter MongoDB Active Document Library CodeIgniter MongoDB Session Library CodeIgniter MongoDB Authentication Library CodeIgniter MongoDB REST Server Library CodeIgniter MongoDB Base Model
我希望这可以帮助您让您的 Codeigniter(MongoDB) 项目正常工作
【讨论】:
我已经看过这个了。但我不明白在哪里实现功能。你给出的答案是关于驱动程序 我的答案是关于如何使用 MongoDB 库,你在上面的 cmets 中问过how to use active driver library
你只需要在你的项目中实现这个代码,你就可以连接到你的 MongoDB 数据库.您在代码上方指示的文件中实现它,即config/mongo.php
意味着在您的config
文件夹中,您将有一个名为mongo.php
的文件,如果它不存在,则创建它。
谢谢你我已经这样做了。现在我在我的 php 代码中使用它无法连接到数据库以上是关于在codeigniter mongodb中插入函数的位置的主要内容,如果未能解决你的问题,请参考以下文章