0

我正在尝试使用 CodeIgniter 从命令行运行 cron。

最初它返回一个空白,但利用 Codeigniter 论坛我发现版本 2.1.3 中有一个错误,需要在 Input.php 中进行行编辑

那是固定的。它仍然无法正常工作,它只是在加载我的主页。

更多的搜索使我在我的配置中将我的 uri_protocol 更改为 AUTO,最后 CLI 正在使用 CI 网站上概述的示例。

但是,当我在 cron 控制器中使用模型时,CLI 再次返回空白刘海头

控制器

<?php

class Cron extends CI_Controller
{
   public function admin_update()
   {

      $this->load->model('admin_model');
      $this->admin_model->admin_cron(); 
   }
}

模型函数

function admin_cron()
{
   $this->load->database();
   echo "two";
}

似乎是 $this->load->database() 行正在破坏它。如果我删除它,它会输出“两个”。

有谁知道为什么?

谢谢

4

1 回答 1

0

您没有为 $this->load->database(); 提供任何输入。

相反,它应该是这样的

var $DB; //global variable
$this->DB = $this->load->database('database1',TRUE);

使用 $this->DB 现在运行数据库操作,例如,

$this->DB->query($query); 

将这些配置项放在 config/database.php

$db['database1']['hostname'] = 'serverIP';
$db['database1']['username'] = 'username';
$db['database1']['password'] = 'pwrd';
$db['database1']['database'] = 'DB name';
$db['database1']['dbdriver'] = 'mysql';
$db['database1']['dbprefix'] = '';
$db['database1']['pconnect'] = FALSE;
$db['database1']['db_debug'] = TRUE;
$db['database1']['cache_on'] = FALSE;
$db['database1']['cachedir'] = '';
$db['database1']['char_set'] = 'utf8';
$db['database1']['dbcollat'] = 'utf8_general_ci';
$db['database1']['swap_pre'] = '';
$db['database1']['autoinit'] = TRUE;
$db['database1']['stricton'] = FALSE;

PS:http ://ellislab.com/codeigniter/user-guide/general/models.html#conn

上面的链接是关于如何连接到数据库的

于 2013-02-28T16:04:41.497 回答