Php 更新mariaDB查询问题

Php 更新mariaDB查询问题,php,mysqli,mariadb,Php,Mysqli,Mariadb,mariaDB上的此查询出现永久性1064错误: UPDATE field_news SET friendly_url = REPLACE (friendly_url, ' ', '-') WHERE id_news = $idNews; $idNews变量设置得很好。 我绞尽脑汁想知道为什么mariaDB拒绝这个问题。 如果有人能告诉我这件事。 您好。您似乎正在使用PHP代码进行此更新。您可以快速修复在$idNews周围加上单引号的问题。但是,理想情况下,您应该在此处使用准备好的语句: UP

mariaDB上的此查询出现永久性1064错误:

UPDATE field_news
SET friendly_url = REPLACE (friendly_url, ' ', '-')
WHERE id_news = $idNews;
$idNews变量设置得很好。 我绞尽脑汁想知道为什么mariaDB拒绝这个问题。 如果有人能告诉我这件事。
您好。

您似乎正在使用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();
请注意,预处理语句的优点之一是它们可以处理如何将变量绑定到查询的问题