Questions tagged «sql»

有关使用原始SQL查询的问题。一般而言,有关数据库的问题,请使用数据库标签,有关Magento数据库访问层的问题,请使用适当的标签,例如:eav,模型,资源模型,集合,安装脚本


4
如何为您的模块使用安装脚本?
我知道,您可以通过在如下<global>空间中的模块的etc / config.xml文件中声明安装脚本来为自己的模块使用安装脚本: <resources> <catalog_setup> <setup> <module>Mage_Catalog</module> <class>Mage_Catalog_Model_Resource_Setup</class> </setup> </catalog_setup> </resources> 然后,某些模块使用文件,mysql4-install-0.0.1.php而其他模块使用install-0.0.1.php。因此,何时在文件名前使用mysql4,何时不使用它? 另外,当我的安装脚本未运行时该怎么办才能找出原因呢?


1
使用Zend Framework的SQL模型时的SQL注入漏洞
连接表时,我使用Zend Framework的SQL模型。例如,我修改了我的实际代码,但我想您会明白的: $this->getSelect()->join( array('sections' => $sectionsTableName), 'main_table.banner_id = pages.banner_id', array() ) ->where("sections.section= '$section' OR sections.section = '0' OR (sections.section = '6' AND ? LIKE main_table.url)",$url) ->group('main_table.banner_id'); 该页面加载了ajax,并且$ section参数作为GET参数(www.example.com/controllerName/index/display/3?paremeter1=example&section=www.example2.com)发送。 如果有人执行以下操作,这就是问题所在: www.example.com/controllerName/index/display/3?paremeter1=example&url=(SELECT 3630 FROM(SELECT COUNT(*),CONCAT(0x7170786a71,(SELECT (ELT(3630=3630,1))),0x717a716b71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) 这样,用户可以转储整个数据库。不会显示数据,但是SQL仍会执行转储,这可能导致sql重载。 问题: 防止这种情况的最佳方法是什么? 现在,我为以前的客户感到担忧。使用此代码是否可以采取更大的风险措施,例如延迟或更改表?我猜不是因为您不能在SELECT中放入除SELECT之外的任何其他语句,所以DELETE将产生sql语法错误。我对吗? 更新: 我的示例不是对SQL注入的正确说明,因为存在'符号围绕$ sections,因此将无法进行注入。无论如何,当期望整数值并且不过滤整数输入时,这都是可能的。见下面我的评论。


2
magento 1.7:无法重新索引product_flat_data
尝试重新索引我的magento数据库时收到以下错误。 产品平面数据索引过程未知错误:带有消息'SQLSTATE [23000]的异常'PDOException':完整性约束>违反:1452无法添加或更新子行:外键约束失败>(d014505f。,CONSTRAINT> FK_CAT_PRD_FLAT_1_ENTT_ID_CAT_PRD_ENTT_ENTT_IDFOREIGN KEY(entity_id)> catalog_product_entity> /www/htdocs/w00f5624/lib/Zend/Db/Statement/Pdo.php:228中的参考(`e)' 我该如何解决??
10 magento-1.7  sql  error 

2
Magento 1 SQL查询
我正在为我的公司设置一些报告功能,我正在从Google,Moz和我们的Courier等收集数据。作为报告的一部分,我还想从Magento中获取数据。因为这将托管在我们服务器上非常安全的文件夹中。我想知道的是,对Magento数据执行查询最安全的方法是什么? 我可以跑步 Magento外部的直接SQL查询 Magento内部的SQL查询,但会出现问题,无法自动将其从Magento中删除 Magento API 从安全性和性能的角度来看,我对我的网站最好的选择是什么?

2
如何使用安装脚本为客户创建多选属性?
我正在关注许多文章,但无法创建多选择属性。而且我得到以下错误。 a:5:{i:0; s:50:“属性” exinent1“找不到源模型”“”; i:1; s:3008:“#0 C:\ wamp \ www \ magento8 \ app \ code \核心。 我的脚本是: <?php $installer = $this; $installer->startSetup(); $setup = new Mage_Eav_Model_Entity_Setup('core_setup'); $entityTypeId = $setup->getEntityTypeId('customer'); $attributeSetId = $setup->getDefaultAttributeSetId($entityTypeId); $attributeGroupId = $setup->getDefaultAttributeGroupId($entityTypeId, $attributeSetId); $setup->addAttribute('customer', 'exinent1', array( 'input' => 'multiselect', 'type' => 'varchar', 'backend' => 'eav/entity_attribute_backend_array', 'label' …


2
如何加载联接2个表的模型数据?
假设我有一个目标表A的简单模型A,现在我必须添加一些额外的信息,所以我决定创建一个模型B并将那些额外的信息保存在表B中,并使用指向表A索引键的外键。 通常,联接是在集合中完成的,但是如果我加载模型,则不会调用该集合,而是仅resource model使用。 如何修改模型A还加载从数据表B上load()?
9 model  sql 

4
简单的Magento 2 CRUD模型所需的代码和配置示例?
作为最终用户程序员,我该如何在Magento 2中创建新的“ CRUD”模型?也就是说,我要创建PHP类文件和XML配置文件, 让我从数据库表中创建,读取,更新和删除数据 让我创建将存储此信息的初始数据库表。 在Magento 1中,这由模型,资源模型,设置资源模型和中的各种节点处理config.xml。目前尚不清楚100%在Magento 2中如何处理。 是否为此提供了示例模块或清晰的教程?还是从现有的核心模型(如CMS页面)中倒退是我们唯一的选择?
8 php  magento2  sql  crud 

1
删除类别属性
我使用一个模块将2个类别属性插入mysql4-install-0.1.0.php到sql文件夹中的文件中: $installer = $this; $installer->startSetup(); $installer->addAttribute('catalog_category', 'short_description', array( 'type' => 'text', 'label' => 'Short Description', 'input' => 'textarea', 'group' => 'General', 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 'visible' => true, 'required' => false )); $installer->addAttribute('catalog_category', 'static_block', array( 'type' => 'text', 'label' => 'Brand', 'input' => 'text', 'group' => 'General', 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 'visible' …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.