php - 从 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..
解决方案
跳过 SQL Ịnjecttion,让我告诉你如何在 Magento 数据库中使用 EAV 设计。
1:product_entity
你有主要的表entity_id,
,你有entity_type_id
= 4(产品实体类型 = 4)
2:eav_attribute
你会得到这张桌子的桌子attribute_code
和attribute_id
3:catalog_product_entity_varchar
你输入的这些属性的值是'text'或'varchar'。
当您需要获取产品属性的值时,您需要什么。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 的默认模型来玩数据库。
尝试研究获取特定的产品属性值。
推荐阅读
- asp.net-core - 如何在我的 dot net core 项目中引用 lodash?
- java - HashMap的Node中存储hash的目的是什么?
- excel - 如何找到最大数据的行数并设置为0
- apache-kafka - 对同一个kafka主题产生一批事件相互覆盖
- php - PHP - 如何获取受保护的属性
- javascript - 如何从数组中打印数字?
- java - Spring 我可以使用 multipart/form-data 发布参数数组吗
- python - 与python中的else块混淆
- postgresql - 如何在 postgres 脚本中声明变量?
- sql - 如何在postgreSQL函数中从字符串变量中修剪双引号