Вы не можете запустить несколько керилинов в одном запросе.Вам нужно запустить их отдельно или использовать mysqli_multi_query()
.Вы можете избежать всего этого, просто используя свои переменные, не пройдя сначала путь установки переменных MySQL.
Еще лучше, вы бы использовали подготовленный оператор вместо того, чтобы вводить переменные непосредственно в запрос.Поскольку вы используете значения дважды, а MySQLi не поддерживает именованные заполнители, мы должны связать каждую переменную дважды.
$sql = "INSERT INTO urls_unis (tag_name, tag_link, user_data)
VALUES
(?, ?, ?)
ON DUPLICATE KEY UPDATE
tag_name = ?,
tag_link = ?,
user_data = ?;";
$stmt = $link->prepare($sql);
$stmt->bind_param("ssssss", $tag_value, $tag_link, $user_value,
$tag_value, $tag_link, $user_value);
if ($stmt->execute()){
echo "Records inserted successfully.";
} else{
echo "ERROR: Could not able to execute $sql<br />";
echo $stmt->error;
}
$stmt->close();