Mysql在开头添加值(concat),而不是在结尾?

use*_*007 1 php mysql

好的,当用户喜欢评论时,我的脚本会将用户名添加到评论表中,喜欢排.

$ben = "Rose,";

mysql_query("UPDATE comments set likes = CONCAT(comments.likes, 
'".$ben."') WHERE id ='".$id."'") or die(mysql_error()); 
Run Code Online (Sandbox Code Playgroud)

但是,它在列表的末尾添加.例如,如果喜欢行有这些;

约翰·马克,玛丽,

它添加后,它

约翰,马克,玛丽,罗斯,

但我想把它添加到开头,比如

罗斯,约翰·马克,玛丽,

我怎样才能做到这一点 ?

csk*_*ske 7

更改参数命令function_concat

mysql_query("UPDATE comments set likes = CONCAT( 
'".$ben."',comments.likes) WHERE id ='".$id."'") or die(mysql_error()); 
Run Code Online (Sandbox Code Playgroud)

使用PDO:

use \PDO as PDO;
$PDO = new PDO('mysql:...');
$Stm = $PDO->prepare("UPDATE comments set likes = CONCAT(?,comments.likes) WHERE id =?");
$Stm->execute([$ben,$id]);
Run Code Online (Sandbox Code Playgroud)

  • 这确实回答了这个问题,但你应该在没有弃用的`mysql_*`的情况下展示一个例子,并且没有SQL注入的风险.然后你会得到一个更多的投票.我们都应该帮助推广最佳实践. (4认同)