我想通过将字符串与函数连接来UPDATE
数据库列。假设我有两列sum_likes_c1
和sum_likes_c2
,并且我有一个名为$class
的函数,具有1或2个值
所以我希望查询根据$class
值更新列
我当前的代码(不起作用):
if (isset($function)) {
$class = 1;
} else $class = 2;
$update_likes = mysqli_query($con, "UPDATE posts SET CONCAT(sum_likes_c,'$class') ='$total_likes' WHERE id='$post_id'");
任何帮助将不胜感激
答案 0 :(得分:1)
CONCAT()是字符串函数,不能将其用于标识符的列名。您必须在PHP中串联。 See how to do it properly
也就是说,如果您需要串联以获得一个可口的名字,很可能(例如99%)您的数据库设计是错误的。必须有一个单独的表来收集您的喜欢,最好使用INSERT,而不是UPDATE
答案 1 :(得分:-1)
尝试一下:
if (isset($function)) {
$class = 1;
} else $class = 2;
$column = "sum_likes_c" . $class;
$update_likes = mysqli_query($con, "UPDATE posts SET ".$column." = ".$total_likes." WHERE id = ".$post_id);