我正在尝试在表字段中简单插入逗号分隔值。但是我没有理由为什么它不起作用。
<?php
$array = array('1', '2', '3');
$comma_separated = implode(",", $array);
echo $comma_separated;
$sql = "INSERT INTO like(user_id,like_data)
VALUES ('1','$comma_separated')";
if ($connection->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $connection->error;
}
?>
这里是like_data字段,我已经接受了varchar。
它给出了sql语法错误。
答案 0 :(得分:2)
你必须把`LIKE
放在一边,因为它是SQL中的保留字!所以看起来应该是这样的:
INSERT INTO `like`
答案 1 :(得分:1)
LIKE
是MySQL保留的关键字。
解决方案:
1)避免使用like
作为表名。
2)在like
之前添加数据库名称:dbName.like
3)在类似的地方添加一个反引号(`):
INSERT INTO `like`(user_id,like_data) VALUES ('1','$comma_separated')
答案 2 :(得分:1)
您不得将关键字用于表名
如果你使用它们,你只需要像这样的反复使用它们
INSERT INTO `like` (user_id,like_data) VALUES ('1','$comma_separated')