2013-05-01 60 views
0

更新的代碼:PHP:拉系列化BLOB到一個數組,然後顯示

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

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

但我發現了這個錯誤: 開捕致命錯誤:類mysqli_result的對象無法轉換爲字符串

它作爲一個blob存儲在一個名爲Data的行中。我假設我不得不反序列化它,但我不知道如何。

我使用這個庫,如果它有任何幫助。 https://sourceforge.net/p/wowarmoryapi/home/Home/沒有關於如何在數據緩存到數據庫後獲取數據的文檔。

新的錯誤: 開捕致命錯誤:類mysqli_result的對象無法轉換爲字符串

回答

1

首先,標準的回答是:不要用mysql _...功能。但使用mysql i _ ...函數或PDO。 mysql _...函數已被棄用。

但隨後你真正的答案:

變化

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

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

因爲在當前的代碼你把一個字符串$數據。但是在代碼中,我建議你使用mysql_query()來運行這個查詢,這會在$ data中放置一個響應資源。

+0

酷我明白這一點。我更新了代碼,現在得到這個錯誤:警告:mysql_fetch_array()期望參數1是資源,對象在第18行刪除DELETED – 2013-05-02 12:55:38

+1

@BrandiEvans是啊,這是因爲現在你正在混合mysql _...函數與mysqli _...功能。你不能那樣做。你應該堅持mysql _...函數(不建議使用)或使用mysqli _...函數。例如:您正在使用mysqli_query(),但後來使用mysql_fetch_array。 – 2013-05-02 13:45:48

+0

我沒注意到!好的謝謝你的幫助<3 – 2013-05-02 14:02:08

相關問題