当前位置: 首页 > 知识库问答 >
问题:

在数据库wordpress中检索序列化值

荀俊迈
2023-03-14

我试图在wordpress数据库中查询一个序列化数组值,value将存储在表wp_postmeta中,列META_VALUE中。
首先,我使用PHP的serialize()函数存储数组。
例如,

$postID = 1;
$arr = array(1, 2, 3);
$ser_val = serialize($arr);
update_meta_data($postID, '_customvalue', $ser_val);

存储的值如下所示

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

然后当我试图通过执行wordpress sql查询来检索它时…我所期望的是它将是一个数组,因为它被存储为数组,但是这样做之后,它显示为字符串而不是数组。

    $get_score = $wpdb->get_row("SELECT meta_value FROM wp_postmeta WHERE meta_key = '_cummulativescore'");
    $scr = unserialize($get_score->meta_value);
    var_dump($scr);

    //output displayed
    //string(30) "a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}" 

我确实使用is_array()函数检查了这个值,结果是它不是一个数组
有什么想法可以将序列化值作为一个数组来获得吗?

共有1个答案

朱高超
2023-03-14

null

null

a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}

而不是

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

S:30表示字符串长度30。

 类似资料:
  • 问题内容: 我正在制作一个程序,可以从我创建的数据库中检索字段的输入数据/值。但是,当我运行它时,输出始终为null。不知道怎么了 这是我的代码: 在我的主班我有以下代码: 我不知道为什么我运行它时总是说null。 问题答案: 您实际上并没有在设置员中“设置”任何东西。 最重要的是:我对getter和setter的理解使您可以在getter中进行查询。

  • 我一直在做一个应用程序,它有一个SQL数据库。我正在尝试检索SQL数据库“year_details”的特定列“col3”中的数据,但当按下一个按钮时,我得到了很多错误,谁能告诉我,我做错了什么。

  • 实际上,我想向用户显示联机/脱机状态。我读过https://firebase.google.com/docs/firestore/solutions/presence并实现了来更新折扣时的实时数据库,但问题是当用户折扣时,Firestore中的数据不会更新。

  • 我正在两个标记之间画一条路线,我想保存那条路线。为此,我将包含lat和lng的ArrayList保存在Firebase数据库中。但我在取回航路点时遇到了问题。我是这样插入的: 在检索数据时,我尝试执行以下操作:

  • 问题内容: 我正在尝试以android应用程序的形式创建一个小型课程聚合程序。 我的课程全部存储在Firebase实时数据库中,该数据库可从firebase控制台查看,并且一切正常。 问题是我已经编写了一个Java方法来连接到DB,从DB检索数据,将数据转换为Custom Java对象,将其附加到另一个Custom Java对象,然后将该对象保存到ArrayList中。 与数据库的连接已成功建立,

  • 问题内容: 表单发送AJAX代码: HTML表单: 在我的PHP中: 如何在PHP端访问每个box变量值? 问题答案: 您的js应该是这样的: 使用php,您应该循环结果数组。 编辑: 您必须在jQuery中使用serializeArray函数。然后它将与此代码一起工作。