我的PHP脚本是将数据从XML文件提取到MySQL数据库。
设置如下:
$sql = "INSERT IGNORE INTO `tablename` (columnname) VALUES ('text text text text text text $variablename text text $variablename2 text text')
$ variablename和$ variablename2都是从XML文件中提取的变量,并且长度各不相同。
所以,我知道,如果我只是处理PHP,我可以使用strlen或变体(请参阅How to Truncate a string in PHP to the word closest to a certain number of characters?但是我的sql数据库中的' columnname'不是变量。
' columnname'是限于人物。 我在mySQL中将它设置为VARCHAR MAX = 106 - 这是有效的 -
但是当重新输出到我的网络主机时,它会从SQL数据库获取数据,该数据在maxlength截止中间字停止。
我想要它,如果它确实达到了maxlength,那么最后一个字就被删除了。
这可能是在输入SQL表时完成的吗?
甚至可能在PHP文件中输出回我的网站主机?,例如:
$rs->data_seek(0);
while($res = $rs->fetch_assoc()) {
$a_topic = array(
"columnname" => $res["columnname"]
或者也许在这里的$ params?
$params = array(
'status' => $share['columnname'],
非常感谢!
答案 0 :(得分:0)
function cut($string, $maxLength)
{
$revertString = strrev($string);
$spaceRevertedPos = strpos($revertString, ' ', strlen($string)-$maxLength);
$revertedCutString = substr($revertString, $spaceRevertedPos);
return strrev($revertedCutString);
}