【发布时间】:2014-09-01 05:05:06
【问题描述】:
我想将下面的 xml 字符串插入到 mysql 数据库中
<message to='". $groupMembersArray[$i] . "@crossmessenger.com' type='groupchat' from='$mFrom'><x xmlns='jabber:x:event'><offline/><delivered/><displayed/></x><body>$message</body></message>
所以我写了下面的代码
$connection = mysqli_connect("localhost","xyz","abc#123","mydb");
for($i = 0 ; $i < $totalMembers ; $i++){
$stanzaToInsert = "<message to='". $groupMembersArray[$i] ."@crossmessenger.com' type='groupchat' from='$mFrom'><x xmlns='jabber:x:event'><offline/><delivered/><displayed/></x><body>$message</body></message>";
$msgSize = strlen($stanzaToInsert);
$insertQuery = "INSERT INTO ofOffline VALUES ('$groupMembersArray[$i]', $messageID, $creationDate, $msgSize, '$stanzaToInsert')";
mysqli_query($connection, $insertQuery);
mysqli_commit($connection);
echo "record $message inserted in table and commited";
}
但没有插入数据库。如果我将表示 stanzaToInsert 的值的 xml 字符串替换为一些简单的文本,那么它将值插入到数据库中。
$insertQuery = "INSERT INTO ofOffline VALUES (
$groupMembersArray[$i],
$messageID,
$creationDate,
$msgSize,
'hard coded string'
)";
所以问题出在 xml 字符串上。
所以我能知道“我怎么了”吗?
【问题讨论】:
-
您是否遇到任何错误?如果不是,请检查您的消息字段类型。
-
@ManishJ:不,没有收到任何错误。类型是“文本”
-
你试过 addlashes() 或 mysql_escape_string() 吗?
-
@ManishJ 试过 mysqli_real_escape_string 但没用