我有一个代码可以更新MySQL中的LongText。这是代码:
$id = rand(1, 100);
$puffleString = "{$id}|{$name}|{$type}|100|100|100,";
$coins = $this->delCoins(800);
$this->write("%xt%pn%-1%" . $coins . "%" . $puffleString . "%");
$puffles = $this->c("puffles");
$puff = $puffles."%".$puffleString;
$type2 = 750 + $type;
setData("UPDATE accs SET puffles='{$puff}' WHERE id='" . $this->ID . "';");
正如你所看到的,puffleString最后有一个逗号,所以每当我使用这个函数时,长文本就会消失并设置一个新文本。我想要它,所以它添加了长文本 任何的想法?我应该使用内爆吗?
答案 0 :(得分:2)
你可以在mysql中使用concat函数。例如。
UPDATE accs set puffles = CONCAT(puffles, '{$puff}') WHERE id = $id
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat
确保您注意SQL注入。 https://www.owasp.org/index.php/SQL_Injection
答案 1 :(得分:0)
您可以使用CONCAT附加{$puff}
,例如:
setData("UPDATE accs SET puffles=CONCAT(puffles,'{$puff}') WHERE id='{$this->ID}';");
请注意,您应该使用准备好的声明(除非您绝对可以保证$name
和$type
不是来自用户)