MySQL数据意外显示

时间:2013-04-10 11:05:50

标签: php mysql wordpress

我正在努力找到解决这个小问题的方法。我使用WordPress Custom Tables Plugin在WordPress中创建了一个新的自定义表,我来创建我的代码以向当前用户显示该信息,但是当我回显表的值时,它们随附我不需要或想要的一些额外信息,很奇怪。

示例:而不是仅仅输出Search Name我得到s:13:"Search Name";我假设它从数组中提供了一些我不需要的信息。

任何人都知道如何只检索表数据的值?

作为参考,输出它的代码如下:

global $wpdb;
global $current_user;

$userID = $current_user->ID;
$searchIDs = $wpdb->get_results("SELECT * FROM wp_wct3 WHERE userid = $userID;");

foreach($searchIDs as $searchID) {

    echo '<a href="/results">
    <div class="search-summary working">
        <h2 class="h1 orange left padding-left-1-4">'.$searchID->searchid.'</h2>
        <h2 class="dark-orange">'.$searchID->searchname.'</h2>
        <p>
        Status: <span class="red">In Progress</span><br>
        Date Created: 15/11/12<br>
        Keywords: 20
        </p>
    </div>
    </a>';   
}

2 个答案:

答案 0 :(得分:1)

啊!我需要将数据作为转义字符串保存到表中,而不是将其序列化!

在我使用表格数据保存到表格之前 $searchname = serialize($_POST["searchname"]);

但是现在正在使用$searchname = mysql_real_escape_string($_POST["searchname"]);进行治疗!

答案 1 :(得分:0)

foreach声明之后尝试此操作:

if(preg_match('/"([^"]+)"/', $searchID->searchname, $match))
{
    $searchName = $match;
}
else
{
    $searchName = $searchID->searchname;
}

然后将第二个<h2>更改为:

<h2 class="dark-orange">'.$searchName.'</h2>