草庐IT

Active_Record

全部标签

mysql - 如何使用 PDO 连接解决一般错误 : 2014 Cannot execute queries while other unbuffered queries are active.

当我使用相同的连接语句(使用PDO)执行第二个存储过程时,出现以下错误。===============================================SQL状态[HY000]:一般错误:2014其他无缓冲查询处于事件状态时无法执行查询。考虑使用PDOStatement::fetchAll()。或者,如果您的代码只针对mysql运行,您可以通过设置PDO::MYSQL_ATTR_USE_BUFFERED_QUERY属性。=====================================================这是我在drupal中的代码$conn->set

php - Codeigniter Active Record - 选择字符串作为列

我有以下作为标准MySQL查询的工作正常:SELECT'page'ASresult_type,...但是,我需要使用codeigniter框架中的事件记录创建此查询。我试过这个:$this->db->select('\'page\'ASresult_type');但这会返回一个错误,提示Unknowncolumn''page''in'fieldlist'我尝试过其他各种类似的方法,但都失败了。这在ActiveRecord中甚至可能吗?如果可以,您能给我指明正确的方向吗?? 最佳答案 您确定您的表列名称是“page”吗?为什么会这样命

SQL 选择 : picking the right distinct record based on another field

根据选择在另一个字段中具有最小值的记录,如何过滤记录列表以删除具有某些相同字段的记录?请注意,仅获取最小值是不够的...我需要从同一记录中获取其他字段。我有一个“产品”表,我正在尝试添加应用优惠券代码的功能。由于发票的生成方式,以不同的成本销售产品被视为不同的产品。在数据库中,您可能会看到:ProductID,ProductCost,ProductName,CouponCode1,20,Product1,null2,10,Product1,COUPON13,40,Product2,null我有一个查询选择现在可用的所有产品的列表(基于其他标准;我正在大量简化它)。问题是,对于上述情况,

php - SQL 基准 : PHP ActiveRecord ORM vs. MySQL 与 CodeIgniter Active Record 与标准 PHP

测试更新为更具可读性;全部在100倍的foreach循环中完成。测试查询是SELECT*FROMschool_courses;任何人都可以就以下方面提供“跳出框框思维”的反馈:a)为什么PHPActiveRecordORM需要4秒来根据以下结果执行相同的查询?b)这是用于比较查询方法的实用基准还是更多的假设基准?c)是否有其他方法(测试用例)我应该尝试(或修改这些方法)以获得更清晰的画面?结果(使用PDO和MySQLi)Iterations:100PHP(configfile)BaseTime:5.793571472168E-5GrossTime:0.055607080459595Ne

php - Active Record 查询中的 Codeigniter 括号

我有这个ActiveRecord来生成查询,$this->purchase_requisition_model->where('deleted','1')->likes('to',$sapfvalue,'both')->likes('date',$sapfvalue,'both')->likes('request_by',$sapfvalue,'both')->likes('deliver_to',$sapfvalue,'both')->likes('name',$sapfvalue,'both')->likes('telephone',$sapfvalue,'both')->like

php - 从 Codeigniter Active Record 中的子查询中选择

我将如何在CodeigniterActiveRecord中执行以下查询:-SELECT*,(SELECTimage_pathFROMimageWHEREimage_table='model'ANDimage_table_id=model_idGROUPBYimage_table_idLIMIT1)ASModelImgFROM(SELECT*FROMvw_newcarswhereoffer_table='derivative'orderbyoffer_order)xWHEREmake_name='Fiat'groupbyoffer_table_idlimit12我遇到问题的部分是如何从A

Mysql Select record where PRIMARY key = x

我的mysql表中有一个主键,它由三列组成。CREATETABLEIFNOTEXISTS`bb_bulletin`(`OfficeCode`int(5)NOTNULL,`IssuerId`int(11)NOTNULL,`BulletinDtm`datetimeNOTNULL,`CategoryCode`varchar(4)NOTNULL,`Title`varchar(255)NOTNULL,`Content`textNOTNULL,PRIMARYKEY(`OfficeCode`,`IssuerId`,`BulletinDtm`),UNIQUEKEY`U_IssuerId`(`Issue

php - 记录 : one record to be active and all other will be inactive 的更新状态

我在数据库表中有一个enum('Y','N')字段,其中有许多记录保持记录状态为事件(Y)或非事件(N)。一次只能激活一条记录。提供了一个界面来显示所有记录及其状态,如果它是事件的,那么它会显示单词Active如果它是非事件的,则提供一个提交按钮以使其与每条记录一起事件。现在我正在执行两个更新命令updatetable_namesetactive="Y"whereid=$idupdatetable_namesetactive="N"whereid!=$id我的问题是:-我真的需要执行两个更新命令还是他们的任何更新命令一次更新它们? 最佳答案

php - 'PDOException' 消息 'SQLSTATE[HY000] : General error: 2014 Cannot execute queries while other unbuffered queries are active

我知道这个问题已被问过很多次,但普遍接受的答案对我没有帮助。但我偶然发现了一个答案。设置如下:我有大量查询(主要是CREATETABLE)通过一个连接。但是CREATETRIGGER不断抛出可怕的2014错误。这与打开的游标无关,因为即使它是程序中唯一的命令也会发生。例如,这失败了:setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$db->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);$db->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_

php - 在 CodeIgniter 中使用 WHERE CONCAT 和 Active Record

我试图在此处插入的原始查询是:SELECT*FROMxWHERECONCAT(y,'',x)LIKE'%value%';我已经查看了AR文档,但找不到任何允许我执行此操作的内容。我不太熟悉它是如何构造这些查询的,希望有人能给我指出正确的方向。非常感谢。 最佳答案 如果你想使用AR类,你需要将FALSE作为第三个参数传递,以避免查询被自动转义。你现在只能自己逃避争论了:$value=$this->db->escape_like_str($unescaped);$this->db->from('x');$this->db->where(