微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获取存储在mysql数据库中的数组的特定值

如何解决如何获取存储在mysql数据库中的数组的特定值

MysqL数据库中,字段的值如下:

C:/Users/UserA/

我这里需要的值是3。

如果这是一个正常数字,我可以用查询来总结所选字段,但是这样我会失败

是否可以在查询中进行数学运算,还是必须处理查询的结果(如何?)?

由于对@kabirbaidhya的回答而进行了更新 进行反序列化here Online可以得到正确的结果。

处理查询没有得到预期的结果

a:1:{i:0;s:1:"3";}   

object(stdClass)#9463(1){[“ VALUE”] =>字符串(18)“ a:1:{i:0; s:1:” 3“;}”} object(stdClass)# 9464(1){[“” VALUE“] =>字符串(20)” a:1:{i:0; s:3:“ 9,5”;}“} object(stdClass)#9465(1){[ “ VALUE”] =>字符串(20)“ a:1:{i:0; s:3:” 7,5“;}”}

更新2: 我的最终工作代码

function summe_bilden() 
{
    global $wpdb;
    $value = $wpdb->get_results("SELECT VALUE FROM wp_vxcf_leads JOIN wp_vxcf_leads_detail ON wp_vxcf_leads.id = wp_vxcf_leads_detail.lead_id WHERE name = 'stunden'");  
    foreach($value as $a)
        { 
         $arr = unserialize($a);
         var_dump($a);
         echo $arr[0];
        } 
          
}

解决方法

快速解答:


sql中没有任何序列化或反序列化功能

因此,您需要从sql中获取所有数据并反序列化它们,最后获得所选值的总和。但是请注意,我输入的样本可能在大数据方面存在问题

示例:

<?php

$query = {your query}

$sum = 0;

while($row = $query->fetch_array(MYSQLI_ASSOC)){

    $column = $row['column'];
    $column = unserialize($column);
    
    $column = (int)$column;

    $sum = $sum + $column
    
}

?>
,

在进一步搜索术语“ unserialize($ column)”之后,我发现了另一条与我的问题相关的帖子 Unserialize through query at database level itself

经过正确位置的尝试和错误后,我发现此查询有效

SELECT VALUE,SUBSTRING_INDEX(SUBSTRING_INDEX(VALUE,'"',2),-1) AS stunden FROM wp_vxcf_leads JOIN wp_vxcf_leads_detail ON wp_vxcf_leads.id = wp_vxcf_leads_detail.lead_id WHERE name = 'stunden'
,

这是通过使用PHP函数serialize序列化数组而在数据库中保留的值。

这意味着,唯一正确的方式是使用PHP及其相应功能unserialize将其反序列化。

步骤:

  1. 使用SELECT VALUE from your_table之类的查询从数据库获取值。
  2. 反序列化该值以获得一个PHP数组,该数组将为您提供所需的数据。
foreach($value as $a) { 
    $arr = unserialize($a->VALUE);
    var_dump($a);
    echo $arr[0];
} 

注意:您不应该仅通过mysql查询来处理它-不可靠,并且对于这种使用情况不确定。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?