PHP:将序列化的blob拉入数组然后显示

标签 php mysql serialization blob

我有这个代码:

<?php
mysql_connect(HIDDEN)
or die(mysql_error());
mysql_select_db("wow")
or die(mysql_error());
$data = ("SELECT Data FROM wa_guilds") or die(mysql_error());

print "<table border cellpadding=3>"; 
while($info = mysql_fetch_array( $data )) 
{ 
    Print "<tr>"; 
    Print "<th>Name:</th> <td>".$info['name'] . "</td> "; 
    Print "<th>Level:</th> <td>".$info['level'] . " </td></tr>"; 
} 
print "</table>";
?>

但我收到此错误: 警告:mysql_fetch_array() 期望参数 1 是资源,blah blah 中给出的字符串

它作为 blob 存储在名为 Data 的行中。我假设我必须反序列化它,但我真的不知道如何。

我正在使用这个库,如果它有帮助的话。 https://sourceforge.net/p/wowarmoryapi/home/Home/没有文档说明如何在数据库中缓存数据后获取数据。

最佳答案

首先,标准回复:不要使用 mysql_... 函数。但请使用 mysqli_ ... 函数或 PDO 代替。 mysql_... 函数已弃用。

但是你真正的答案是:

改变

$data = ("SELECT Data FROM wa_guilds") or die(mysql_error());

进入

$data = mysql_query("SELECT Data FROM wa_guilds") or die(mysql_error());

因为在当前代码中,您将一个字符串放入 $data 中。但在代码中,我建议您使用 mysql_query() 运行该查询,这会将响应资源放入 $data 中。

关于PHP:将序列化的blob拉入数组然后显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16328286/

相关文章:

php - 如何让我的网站使用干净的网址?

MySQL 更改表分区语法

mysql - 测试将数据保存在数据库中

jquery 使用非选择器序列化

java - Gson自定义序列化

java - Oracle Coherence 的 POF 与 Java 序列化

php - Gmail使用原始 "TO"地址而不是 "FROM"地址进行回复

java - php pack ('H*' ,$securesecret) 等价于 Java

php 5.3.6 破坏了我的正则表达式模式

PHP ajax加载结果并排序分页