首页 > 解决方案 > 从 MySQL 拉取

问题描述

我正在尝试从 MySQL 中提取,但无法正确地从正确的字段中提取字符串。

它从错误的位置拉出。当前来自(catalog_product_entity_media_gallery_value_video)并且应该从中提取视频,(catalog_product_entity_varchar) (attribute id 147)这给出了数据库中正确存储 URL 的值。不确定什么是正确的代码字符串。

这是我的代码:

$sql = "SELECT url FROM catalog_product_entity_media_gallery_value_video where value_id= ".$product_data['entity_id']." ";
$video_url = $connection->fetchOne($sql);

我正在尝试这个,但必须包含 174 的“attribute_id”才能提取正确的“值”并在数据库中获取 URL。

这是我的代码:

$sql = "SELECT url FROM catalog_product_entity_varchar where value_id= ".$product_data['value']." ";
$video_url = $connection->fetchOne($sql);

关于如何在此字符串中添加 174 的属性 ID 以便能够提取存储在值字段中的 URL 的任何想法..?

当前代码图像

当前数据库字段

谢谢PRIZM..

标签: phpmysql

解决方案


跳过 SQL Ịnjecttion,让我告诉你如何在 Magento 数据库中使用 EAV 设计。

1:product_entity你有主要的表entity_id,,你有entity_type_id= 4(产品实体类型 = 4)

2:eav_attribute你会得到这张桌子的桌子attribute_codeattribute_id

3:catalog_product_entity_varchar你输入的这些属性的值是'text'或'varchar'。

EAV设计

当您需要获取产品属性的值时,您需要什么。1:属性代码 ==> 属性 ID

2: 属性 ID => 属性值

3:产品entity_id => 产品属性值

示例 SQL:

select v.value from 
    catalog_product_entity_varchar where attribute_id = [attirbute-id] 
    and entity_id = [product entity id]

更新

  • 通过 SQL 注入安全,您应该使用$connection->quote([value])

  • 您应该使用 Magento 的默认模型来玩数据库。

  • 尝试研究获取特定的产品属性值。


推荐阅读