UPDATE mariaDB查询问题

时间:2019-03-07 06:50:14

标签: php mysqli mariadb

在mariaDB上的此查询导致1064永久错误:

UPDATE field_news
SET friendly_url = REPLACE (friendly_url, ' ', '-')
WHERE id_news = $idNews;

$ idNews变量设置正确。 我绞尽脑汁想找出为什么mariaDB拒绝查询。 如果有人能让我对此有所了解。 问候。

1 个答案:

答案 0 :(得分:1)

您似乎正在使用PHP代码进行此更新。您可以快速解决将$idNews放在单引号内的问题。但相反,理想情况下,您应该在此处使用准备好的语句:

UPDATE field_news
SET friendly_url = REPLACE (friendly_url, ' ', '-')
WHERE id_news = ?;

对于?占位符,您将绑定实际的PHP变量$idNews。这样,您的PHP代码可能看起来像这样:

$sql = "UPDATE field_news
        SET friendly_url = REPLACE (friendly_url, ' ', '-')
        WHERE id_news = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s", $idNews);
$stmt->execute();
$stmt->close();

请注意,准备好的语句的优点之一是它们处理了如何将变量绑定到查询的烦恼。