【问题标题】:When querying blob from db, how do I convert the blob to text in my query?从 db 查询 blob 时,如何在查询中将 blob 转换为文本?
【发布时间】:2012-11-26 00:37:35
【问题描述】:

我正在尝试为客户创建搜索功能,他们在现有表中有一个字段,他们将其设置为 blob。当我在下面的搜索脚本中查询表格时,我从三个字段中得到以下结果:

字段:

1-item_num
2-info (blob)
3-name

查询:

$raw_results = mysql_query("SELECT * FROM store_products
    WHERE (`item_num` LIKE '%".$query."%') OR (`info` LIKE '%".$query."%') OR (`name` LIKE '%".$query."%')") or die(mysql_error());

(结果)

22 (name)
penlite (item_num)
PHA+MiBBQSBBbm9kaXplZCBBbHVtaW51bSBwZW5saXRlIDwvcD4= (info)

如何将 blob 转换为搜索结果页面上的可读文本?

【问题讨论】:

  • 可读性是什么意思?为什么不能直接回显结果?
  • 你为什么要对一些二进制数据进行文本搜索?数据是如何编码/加密的?

标签: php mysql search blob


【解决方案1】:

你可以使用这个查询

$raw_results = mysql_query("SELECT * FROM store_products
    WHERE (`item_num` LIKE '%".$query."%') OR (CONVERT(`info` USING utf8) LIKE '%".$query."%') OR (`name` LIKE '%".$query."%')") or die(mysql_error());

【讨论】:

    猜你喜欢
    • 2011-06-16
    • 2011-11-09
    • 2016-12-07
    • 1970-01-01
    • 2020-01-07
    • 2015-03-12
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多