草庐IT

codeIgniter

全部标签

php - Codeigniter:将 activeRecord 与手动查询相结合?

我对Codeigniter中的activerecord与手动查询略有了解。ActiveRecord非常棒,因为它是关于标准查询的,而且开发时间非常短。但是,当需要为查询添加一些复杂性时,ActiveRecord的使用会变得相当复杂。子查询或复杂的连接至少让我很头疼。由于当前的“$this->db->query”调用会立即执行设置的查询,因此它不能与正常的activeRecord调用结合使用。那么,我能做些什么来结合这两种方法呢?我想要完成的示例:$this->db->select('title,content,date');$this->db->from('mytable');$thi

php - Codeigniter 在 MySQL 中插入多维数组作为行

请引用我问的这个问题CodeigniterInsertMultipleRowsinSQL重申..........可以这样插入MySQLforeach($_POST['user']as$user){$this->db->insert('mytable',$user);}这会导致多个MySQL查询。是否可以进一步优化它,以便插入发生在一个查询中像这样insertmultiplerowsviaaphparrayintomysql但利用codeigniters更简单的语法。谢谢 最佳答案 $this->db->insert_batch('t

php - mySQL 中的条件和?

我不太擅长SQL,所以我一直在尝试通过PHP来处理这个问题并执行非常基本的mySQL查询,但显然我一直在用尽内存(在PHP中),因为我处理了很多数据(并做大量可怕的嵌套foreach)。我希望可能有一种方法可以重写我的SQL来避免这种情况发生。这是我正在处理的表格(仅显示相关字段):组织组织ID资金周期周期编号非UnityCut​​BackAmountUnityCut​​BackAmount管理请求周期编号组织ID申请金额资助金额关闭资本请求周期编号组织ID申请金额资助金额关闭事件请求周期编号组织ID申请金额资助金额关闭Unity请求所以,这是复杂的部分。我需要为AmountReque

php - 使用 Codeigniter 在 InnoDB/MySQL 数据库中模拟全文搜索的最佳方法

我正在codeigniterphp框架中构建一个电子商务系统,它需要一个完整的产品搜索。我在MySQL数据库中使用了InnoDB引擎,因为它具有支持外键以强制执行引用完整性或行锁定而不是表锁定等优点,但它不支持全文索引:'(唯一的问题是我需要为网站搜索搜索产品表,所以我需要一种替代全文索引的方法,它也与Codeigniter兼容。有人有什么建议吗?我研究过创建一个单独的可搜索表和Sphinx,但它们看起来很困惑:S编辑在与主机核实后,我无法使用Sphinx,因为该站点位于共享主机上,而且我的主机提供商不允许安装,因为它需要root级别权限,而且他们不会进行系统范围的安装,因为它是第3方

php - 链接 MySQL 命令与。原始查询

我过去一直在使用我自己的cms/框架构建很多网站,并且我开发了一种执行查询的简单方法。最近我开始玩其他框架,比如codeigniter。他们提供原始查询输入,例如……$this->db->query(“SELECT*FROMnewsWHEREnewsId=1;”);但他们也提供通过PHP方法链接MySQL命令。$this->db->select("*")->from("news")->where("newsId=?");问题是;每个选项的主要区别和好处是什么。我知道后面的选项可以防止MySQL注入(inject),但老实说,您可以使用$this->db->e​​scape()做完全相同

php - MySQL 查询性能和 Codeigniter

我有这个MySQL查询,我正在将其加载到我的家庭Controller中,在运行Codeigniter的$this->output->enable_profiler(TRUE);之后,我得到的执行时间为5.3044我模型中的查询:classPostextendsCI_Model{functionstream($uid,$updated,$limit){$now=microtime(true);$sql="SELECT*FROMvPAS_Posts_Users_TempWHEREpost_user_id=?ANDpost_type!=4ANDpost_updated>?ANDpost_up

php - 使用 codeigniter 比较数组中的数据并计算它在数据库中出现的实例数

我有这个数组月$monthsNum=['1','2','3','4','5','6','7','8','9','10','11','12'];,我希望在我的数据库列month_uploaded中将其与1-12之间的值进行比较。我希望它计算$monthsNum数组值出现在列month_uploaded中的实例数并将其存储在数组$count_uploads中。零计数是在数组$count_uploads中放置零值。我该怎么做?非常感谢您的帮助。谢谢你。以下是我的代码片段。functioncount_uploads_perMonth(){$monthsNum=['1','2','3','4',

PHP根据两行从数据库中检索不同的数据

我有一个名为messages的表,其中包含一些行:+---------+|columns|+---------+|id||from||to||body||date|+---------+我想要的是检索我发消息的用户或发消息的用户的列表。publicfunctionget_users_m($where){$this->db->select('*');$this->db->from('messages');$this->db->where($where);//to=my_idorfrom=my_id$this->db->group_by('from,to');return$this->db

PHP,可以吗?将 password_hash 中的字符串作为主键存储在数据库中?

我有一个字符串配置,例如:“healtheworld”然后我像这样使用密码哈希对其进行转换password_hash($string,PASSWORD_DEFAULT)然后我将它存储在数据库中的字段内>>“token”(主键)我能行吗?如果可以的话,如果password_hash的字符串再次生成,在数据库上有机会得到和之前一样的结果吗? 最佳答案 是的,因为每次使用生成的散列作为表中的主键时,使用password_hash()完成的散列密码都会生成一个唯一的散列。只需确保该列的长度为60个或更多字符。

php - 如何在 mysql codeigniter 事件记录中启用反引号

我尝试使用codeigniter事件记录,当我尝试更新名为Dec的字段时它给了我错误(之前Jan-Nov没问题)...这是我的代码$this->db->set($month,"$month+$tax",FALSE);$this->db->set('total_yearly',"total_yearly+$tax",FALSE);$this->db->where(array('tax_category'=>$tax_category));$this->db->update($nama_table);查询结果是这样的UPDATE`tax`SETDec=Dec+10000,total_yea