标签: codeigniter

codeigniter模型错误:未定义的属性

可能重复:
错误:获取非对象的属性

我是codeigniter模型的新手,我尝试按照文档中的步骤加载在我的数据库中注册的所有用户.

这是我的模特: user.php

class User extends Model {
     function user() {
         parent::Model();
     }
     function alluser() {
         $query = $this->db->query("select * from user limit 0,5"); //Line 30 error as in my IDE located in this line
         return $query->result();
     }
}
Run Code Online (Sandbox Code Playgroud)

这是我的控制器: home.php

class home extends Controller {

function index() {

    parent::Controller();

}
function alluser() {
    $this->load->model('User');
    $result = $this->User->showusers();
    if ($result->num_rows()>0) {
        foreach ($result as $row) {
            echo "ID:".$row->userid." ".$row->userpenname."<br />";
            echo $row->userfirstname." ".$row->userlastname."<br />";
        }
      }
   }
} …
Run Code Online (Sandbox Code Playgroud)

php codeigniter

35
推荐指数
1
解决办法
16万
查看次数

是否使用PHP框架?

我开始用PHP编写一些应用程序,我对这门语言越来越熟悉了.有人告诉我有关CakePHP和CodeIgniter的信息.我想更好地了解这些如何帮助我,以及是否值得花时间学习框架?

php cakephp codeigniter

34
推荐指数
6
解决办法
2万
查看次数

获取CodeIgniter Active Record的当前SQL代码

例如,我想转换这个;

$this->db->get('table');
Run Code Online (Sandbox Code Playgroud)

对此;

'SELECT * FROM table'
Run Code Online (Sandbox Code Playgroud)

这有什么功能吗?我搜索了CI的用户指南,但没有找到任何解决方案.

php activerecord codeigniter

34
推荐指数
2
解决办法
4万
查看次数

如何在调整图像大小时阻止GD2清除颜色?

我使用CodeIgniter 1.7开发了一个照片共享社区网站.成员上传的照片会自动调整为多种格式,我使用CodeIgniter Image Manipulation类.该类内置于框架中,基本上是多个图像处理库的包装器,如GD,GD2,ImageMagick和NETPBM.在我的主机上,我只能使用GD2,所以这就是这个问题的所在.

关于我的问题.以下是我网站上已调整大小的照片示例.请注意,原件非常大,宽度超过3000像素:

http://www.jungledragon.com/image/195/female_impala_close-up.html

现在,看看同样的图像,也调整大小,在Flickr上稍大一些:

http://www.flickr.com/photos/fledder/3763538865/in/set-72157621744113979

看到戏剧性的差异?我正试图弥合这个巨大的差距.我做的第一件事是对图像应用锐化滤镜.你可以在这里看到结果:

在此输入图像描述

虽然仍然不完美,但它至少接近Flickr图像的清晰度水平.剩下的问题是颜色被冲走,好像它们的饱和度降低了.这种情况发生在锐化滤镜之前,因此它必须在GD2中.

这个问题对我来说至关重要,但我不知道在哪里看.我发现一些.NET线程正在谈论色度子采样,但我不知道在我的设置中如何处理这些信息.我正在寻找在我的设置约束下工作的任何解决方案.

更新:这里是原始文件,就像我将它上传到我的网站和Flickr一样:

http://www.jungledragon.com/img/DSC07275.jpg

更新2:我很震惊.好的方式.安装ImageMagick但是在切换到它之后花了很多痛苦(这是将'imagemagick'设置为Code Igniter图像处理类使用的库的问题,测试图像的结果如下:

在此输入图像描述

ImageMagick的调整大小正是按预期完成的.颜色被保留,清晰度就在那里.是的,我禁用了自定义锐化程序,因为ImageMagick不再需要它.最重要的是,这个过程更快,内存也更少.这里有另一个很大的部分:我无法解释它,但我绝对没有告诉ImageMagick使用特定的颜色配置文件,这是由用户@Alix建议的.到目前为止,在我的测试中,无论是否有嵌入的配置文件,都可以看到颜色信息.输出只是输入的较小版本.ImageMagick真的那么聪明还是我在做梦?

php codeigniter gd2 image-resizing

34
推荐指数
3
解决办法
1万
查看次数

CodeIgniter中$ query> num_rows()和$ this-> db-> count_all_results()之间的区别以及建议使用哪一个

在一个场景中,我需要知道查询将返回的记录集的计数,这在codeigniter中可以通过$query->num_rows()或完成$this->db->count_all_results().哪一个更好,这两者有什么区别?

php codeigniter

34
推荐指数
2
解决办法
12万
查看次数

joomla密码加密

我需要jos_users从外部php脚本[codeignitor] 访问joomla用户表以进行登录检查.

joomla存储这样的密码

4e9e4bcc5752d6f939aedb42408fd3aa:0vURRbyY8Ea0tlvnTFn7xcKpjTFyn0YT
Run Code Online (Sandbox Code Playgroud)

看起来这不是正常的MD5,所以我无法使用md5(password).

创建密码的可能方法是什么?

谢谢.

php joomla md5 codeigniter

34
推荐指数
3
解决办法
7万
查看次数

如何在CodeIgniter中获取项目基本路径

我在根目录中创建了一个用户文件夹.

我的项目基础路径是:

/var/www/myproject/
Run Code Online (Sandbox Code Playgroud)

当我想从控制器访问基本路径BASEPATH时,它显示:

/var/www/myproject/system/ 
Run Code Online (Sandbox Code Playgroud)

但我想要的道路是:

/var/www/myproject/ 
Run Code Online (Sandbox Code Playgroud)

我是CodeIgniter的新手.我该如何设置此路径?

codeigniter

34
推荐指数
3
解决办法
14万
查看次数

如何判断MySQL UPDATE成功与实际更新的数据?

如何判断MySQL UPDATE成功与实际更新的数据?

例:

TABLE
id    city_name
1     Union
2     Marthasville
Run Code Online (Sandbox Code Playgroud)

如果我运行以下内容:

$data = array('city_name', 'Marthasville');

//update record 2 from Marthasville to the same thing, Marthasville. 
$this->db->where('id', 2);
$this->db->update('table', $data);

if($this->db->affected_rows() > 0)
{
    //I need it to return TRUE when the MySQL was successful even if nothing was actually updated.
    return TRUE;
}else{
    return FALSE;
}
Run Code Online (Sandbox Code Playgroud)

这将在TRUE每次UPDATE语句成功时返回,但在没有实际更新行时返回FALSE.

TRUE每次成功执行UPDATE语句时,我都需要它返回,即使它实际上没有更改任何记录.

php mysql codeigniter sql-update

33
推荐指数
2
解决办法
6万
查看次数

Codeigniter交易

我正在使用Codeigniter交易

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->trans_complete();
Run Code Online (Sandbox Code Playgroud)

这工作得很好,我有问题是内部的trans_starttrans_complete我打电话等功能,这些功能与数据库交易,使他们包含插入和更新以及一些删除...例如:

$this->db->trans_start();
 $this->utils->insert_function($data);
 $this->utils->update_function2($test);
$this->db->trans_complete();
Run Code Online (Sandbox Code Playgroud)

现在,如果执行这些函数并且发生一些错误,CodeIgniter将不会执行回滚.

处理此类问题的最佳方法是什么?

我想到的唯一解决方案是从这些函数返回错误并在那些函数内添加(trans_stattrans_complete)如果它返回错误测试则执行$this->db->trans_rollback

例如:

    $this->db->trans_start();
     $result = $this->utils->insert_function($data);
     if($result === false){
       $this->db->trans_rollback();
     }
    $this->db->trans_complete();
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

更新1:

根据要求我正在调用的外部函数示例:

   // insert_function contains

    $rec = array(
        'numero' => $numero,
        'transaction_id' => $id,
        'debit' => $product_taxes['amount_without_taxes'],
        'date' => $data['date_transaction'],
    );
    $this->addExerciceAccountingRecords($rec);

  and addExerciceAccountingRecords contains

   function addExerciceAccountingRecords($records) {
    $this->db->insert('transactions_exercices', $records);
    }
Run Code Online (Sandbox Code Playgroud)

php mysql transactions codeigniter codeigniter-3

33
推荐指数
2
解决办法
4万
查看次数

Codeigniter在上传时重命名文件

我正在尝试在上传时添加时间作为图像名称的前缀以及原始名称,但我无法弄明白.请帮我使用以下代码在上传时为我的原始文件名添加前缀.

<?php

class Upload extends CI_Controller {

    function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form', 'url'));
    }

    function index()
    {
        $this->load->view('upload_form', array('error' => ' ' ));
    }

    function do_upload()
    {


        $config['upload_path'] = 'Public/uploads/';
        $config['allowed_types'] = 'gif|jpg|png';
        $config['max_size'] = '1024';
        $config['max_width']  = '1024';
        $config['max_height']  = '768';



        $this->load->library('upload', $config);


        if ( ! $this->upload->do_upload())
        {
            $error = array('error' => $this->upload->display_errors());

            $this->load->view('upload_form', $error);
        }
        else
        {
            $data = array('upload_data' => $this->upload->data());

            $this->load->view('upload_success', $data);
        }
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

php codeigniter file-upload

33
推荐指数
2
解决办法
8万
查看次数