$content="<xml><ToUserName><![CDATA[gh_c847b85d61a7]]></ToUserName><FromUserName><![CDATA[ofLpU0TQOLYHMtjbQvKotzegLFXA]]></FromUserName><CreateTime>1545011792</CreateTime><MsgType><![CDATA[event]]></MsgType><Event><![CDATA[subscribe]]></Event><EventKey><![CDATA[]]></EventKey></xml>";$postObj = simplexml_load_string($content, 'SimpleXMLElement', LIBXML_NOCDATA);
$username=$postObj->FromUserName;
$data["content"]=$username;
echo $data["content"];
M("test")->data($data)->add();
结果:
echo $data["content"]; //打印没有问题,显示ofLpU0TQOLYHMtjbQvKotzegLFXA,但是test数据库中content显示空
如果换成
$data["content"]=trim($username);
或
$data["content"]=(string)$username;
M("test")->data($data)->add();成功执行,test数据库中content插入ofLpU0TQOLYHMtjbQvKotzegLFXA正常。大家知道啥问题么?
另外,如果换成数组:
$arr=array("FromUserName"=>"maolian99","company"=>"shanghaimaolian8888");
$username=$object["FromUserName"];
$data["content"]=$username
M("test")->data($data)->add();
一切正常。
$username=$postObj->FromUserName;
$data["content"]=$username;
echo $data["content"];
M("test")->data($data)->add();
结果:
echo $data["content"]; //打印没有问题,显示ofLpU0TQOLYHMtjbQvKotzegLFXA,但是test数据库中content显示空
如果换成
$data["content"]=trim($username);
或
$data["content"]=(string)$username;
M("test")->data($data)->add();成功执行,test数据库中content插入ofLpU0TQOLYHMtjbQvKotzegLFXA正常。大家知道啥问题么?
另外,如果换成数组:
$arr=array("FromUserName"=>"maolian99","company"=>"shanghaimaolian8888");
$username=$object["FromUserName"];
$data["content"]=$username
M("test")->data($data)->add();
一切正常。
解决方案 »
- php+mssql 返回MSSQL的 异常信息(it is mssql ,not mysql)
- 这段代码保存为GBK编码的,为什么运行出来会有乱码?
- 在线急求高手们解答小问题 谢谢
- 关于XML解析的问题,为什么<db:tag>可以,<gd:rating>就不行呢?
- PHP环境下配置在线编辑器FCKeditor
- 一段兼容firefox浏览器JS代码出现问题。
- MYSQL导入问题,请教?
- ----权限分配----
- 谁有正规表达式的列表之类啊?还有html中hidden什么意义啊?
- 高手进,curl post 数据登录成功后生成一个cookie值,带着这个值继续访问,服务器会返回一个不同的cookie值,请问怎么获取这个返回值
- curl请求PHP接口post参数长度超过16383$_POST接收为空
- 新手求教~~表单validate验证后,ajaxSubmit()要怎么编写
贴出结果
$data["content"]=$username;
echo $data["content"];
M("test")->data($data)->add();或者M("test")->data((array)$data)->add();
$class = get_class($username); // $class: "SimpleXMLElement"也就是说 $postObj 是 SimpleXMLElement 对象,$postObj->FromUserName 拿到的也是 SimpleXMLElement 对象var_dump($username);
//class SimpleXMLElement#417 (1) {
// public ${0} =>
// string(28) "ofLpU0TQOLYHMtjbQvKotzegLFXA"
//}TP插入数据不认这个对象,所以要手动转成 string
$username=$postObj->FromUserName;
$data["content"]=$username;
echo $data["content"];
var_dump($data); // 看看是数组还是对象
M("test")->data((array)$data)->add(); // data转数组