我拥有的一个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或一个变体(请参阅如何将PHP中的字符串截断到与一定数量字符最接近的单词?,但我的sql数据库中的“列名”不是一个变量。
“列名”仅限于字符。我在mySQL中将这个设置为VARCHAR MAX=106 --这是可行的--
但是,当将它重新输出到我的web主机时,它会从SQL数据库获取数据,该数据库在最大长度截断中间字处停止。
我想要它,这样如果它达到最大长度,最后一个单词就会被移除。
是否可以这样做,也许当输入到SQL表中时?
或者甚至可能在PHP文件中返回到我的web主机?,例如:
$rs->data_seek(0);
while($res = $rs->fetch_assoc()) {
$a_topic = array(
"columnname" => $res["columnname"]或者可能在这里的$params?
$params = array(
'status' => $share['columnname'],非常感谢!
发布于 2015-06-01 23:10:56
function cut($string, $maxLength)
{
$revertString = strrev($string);
$spaceRevertedPos = strpos($revertString, ' ', strlen($string)-$maxLength);
$revertedCutString = substr($revertString, $spaceRevertedPos);
return strrev($revertedCutString);
}https://stackoverflow.com/questions/30584625
复制相似问题