在WordPress插件中使用xml2ary时出现MYSQL_REAL_EASH_STRING()错误

时间:2011-09-20 作者:Thomas

我创建了一个插件,用xml文件中的信息替换帖子中的一些内容。要分析我要使用的文件xml2ary 以及wp_insert_post_data 滤器我使用测试字符串替换了内容,我还可以解析xml 在WordPress之外的脚本中。但是当我试着打电话的时候

$data = xml2ary(file_get_contents($url));
在插件内部,我两次出现以下错误:

警告:mysql\\u real\\u escape\\u string()要求参数1为字符串,在{path}\\testblog\\wp includes\\wp db中给出的数组。php在线774

再加上另一个:

警告:无法修改标头信息-标头已由{path}\\testblog\\wp includes\\wp db.php:774)中的{path}\\testblog\\wp includes\\pluggable发送。php在线934

以下是我的插件代码:

require_once("xml2ary.php");

if (!class_exists("Marketplace")) {
class Marketplace {

    function Marketplace(){

        add_filter( \'wp_insert_post_data\' , \'addInfo\' , \'99\', 2 );
    }

}
}
     if (class_exists("Marketplace")) {
$marketplace = new Marketplace();
}

     if (isset($marketplace)) {

function addInfo( $data, $postarr ){    

$url = "http://catalog.zune.net/v3.2/de-DE/apps/578ef361-c265-46b7-b6f4-63cbd7fbefe0?clientType=WinMobile%207.0";
$data = xml2ary(file_get_contents($url));

$data["post_content"] = "test";
$data["post_content filtered"] = "test";
return $data;
}

}
知道为什么会这样吗?

1 个回复
最合适的回答,由SO网友:Thomas 整理而成

当然,我不应该将XML数组保存在$data中。--

结束

相关推荐

存储XML响应(瞬时)?

没有太多的XML,所以我遇到了一些麻烦:function getapi() { $api_response = wp_remote_get( \"http://example.com/getXML\" ); $data = wp_remote_retrieve_body( $api_response ); $output = new SimpleXMLElement ($data ); retu