【问题标题】:SQL LIKE Querying PHP Serialized data with Drupal 7SQL LIKE 使用 Drupal 7 查询 PHP 序列化数据
【发布时间】:2012-08-23 21:46:54
【问题描述】:

使用 Drupal 7,我尝试使用 LIKE 命令从数据库中获取结果,但它无法识别我的通配符。我不确定这是否是 Drupal 问题,或者我做错了什么。无论如何,这是我尝试匹配的数据示例,以及我的模式

要匹配的数据

a:2:{i:1;s:2:"17";i:2;s:1:"3";}

我喜欢的查询

$pattern1 = 'a:2:{i:1;s:2:"17";i:2;s:1:"%";}'//works
$pattern2 = 'a:2:{i:1;s:1:"%";i:2;s:1:"3";}'//fails

$result = db_query(
    "
        SELECT pa.nid, pa.model, pa.combination
        FROM {$Product_Adjustments} pa
        WHERE pa.combination LIKE :pattern
    ",
    array(
        ':pattern' => $pattern1
    )
);

此外,我尝试了“_”通配符,但这也没有带来任何好处

【问题讨论】:

    标签: php sql serialization drupal-7 sql-like


    【解决方案1】:

    您确定模式正确吗?注意模式 1,第一个字符串是 2 长,而在模式 2 中,您正在寻找一个只有 1 长的字符串。你确定这是对的吗?该序列化数据的各个片段的长度是否足以预测甚至可以以这种方式查询?这似乎不太可能,您可能不得不存储一些标准化数据。

    【讨论】:

      猜你喜欢
      • 2014-05-13
      • 1970-01-01
      • 2018-08-12
      • 2014-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多