我正在更新记录以将新内容附加到同一行。 这是查询:
$update1 = "UPDATE review_words SET adjective = CONCAT(adjective, ',', '$adjective'), noun = CONCAT(noun, ',', '$noun') ";
if (!mysqli_query($con,$update1))
{
// die('Error: ' . mysqli_error($con));
// echo "error";
}
当表中有一些值时,这可以正常工作。但是如果表记录为空,则不会连接该值。
我可以克服这个问题吗?
答案 0 :(得分:1)
请改用CONCAT_WS()
。这正是你要找的东西。
UPDATE review_words
SET adjective = CONCAT_WS(',', adjective, '$adjective'),
noun = CONCAT_WS(',', noun, '$noun')
请注意,您很容易受到SQL injection的攻击。请使用带有参数化查询的MySQLi或PDO来避免此问题。
答案 1 :(得分:1)
请你试着用这样的连接代替:
update1 = "UPDATE review_words SET adjective = CONCAT(IFNULL(adjective, ''), ',', '$adjective'), noun = CONCAT(IFNULL(noun, ''), ',', '$noun') ";