【发布时间】:2019-02-28 20:49:35
【问题描述】:
$sql = "SET @tag_name = '$tag_value',
@tag_link = '$tag_link',
@user_value = '$user_value';
INSERT INTO urls_unis
(tag_name, tag_link, user_data)
VALUES
(@tag_name, @tag_link, @user_value)
ON DUPLICATE KEY UPDATE
tag_name = @tag_name,
tag_link = @tag_link,
user_data = @user_value;
";
if(mysqli_query($link, $sql)){
echo "Records inserted successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
}
上面的代码返回这个:
错误:无法执行
SET @tag_name = '查看历史记录', @tag_link = 'zNIL', @user_value = '/w/index.php?title=Non-volatile_random-access_memory&action=history'; INSERT INTO urls_unis (tag_name, tag_link, user_data) VALUES (@tag_name, @tag_link, @user_value) ON DUPLICATE KEY UPDATE tag_name = @tag_name, tag_link = @tag_link, user_data = @user_value; .您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 4 行的“INSERT INTO urls_unis (tag_name, tag_link, user_data) VALUES (@tag_name,’ 附近使用正确的语法
当我将 mysql 查询复制并粘贴到 phpmyadmin 以执行它时,它工作正常。没有返回任何错误。
这是怎么回事,我该如何解决?
【问题讨论】:
-
您不能在单个查询中运行多个查询行。您需要单独运行它们或使用
mysqli_multi_query()