gpt4 book ai didi

mysql - $wpdb->query WordPress 简码导致语法错误

转载 作者:行者123 更新时间:2023-11-29 10:42:19 25 4
gpt4 key购买 nike

我正在尝试更新大量 WordPress 多站点页面。我有一个 ajax 脚本,它发布到一个 php 文件,在文本格式化后,它会更新相应的表格单元格。

但是,我不断收到“WordPress 数据库错误,您的 SQL 语法有错误;”错误。

$content = "[shortcode] text processed by shortcode [/shortcode]";
$table = "wp_".$_POST["blogid"]."_posts";
$wpdb->query(" UPDATE {$table} SET post_content={$content} WHERE posts_title='test'");

这是我希望用来更新单元格的字符串中使用方括号(短代码)的问题吗?

语法对我来说似乎很好,但我的 SQL 知识不是那么强。更详细地说,我有一个 mysql 查询,它获取所有多站点,然后在使用 JS 进行编辑后循环遍历它们,然后再发布到此 php 文件。

最佳答案

避免直接使用字符串模板来构建查询。您可以很容易地包含无效语法,并且由于您直接从短代码中读取内容,因此您将整个数据库暴露给 SQL 注入(inject)攻击。这可能会让攻击者直接访问您的数据库,这意味着任何可以发布内容的人也可以获得对您的 WordPress 的完全访问权限。

始终先准备您的查询。如果您使用的是 $wpdb,其用法如下所述:https://developer.wordpress.org/reference/classes/wpdb/prepare/

这还将确保您查询的短代码内容格式正确。

关于mysql - $wpdb->query WordPress 简码导致语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45248119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com