我正在使用WordPress插件,最近我计划从SQL迁移到$wpdb
。我正在使用名为$wpdb->prepare
的方法而不是mysql_real_escape_string
,但它不起作用。
这是我试过的:
代码:
echo $fetch_row;
输出:
a:5:{s:9:“task_name”; s:10:“立即备份”; s:9:“机制”; s:10:“singleCall”
代码:
echo mysql_real_escape_string( $fetch_row )
输出:
'a:5:{s:9:\“task_name \”; s:10:\“立即备份\”; s:9:\“mechanism \”
执行mysql_real_escape_string
函数后,您可以看到字符串中的差异。
我来this question on stackexchange因此我使用了$wpdb->prepare($fetch_row)
但输出没有改变,就像输入一样。
建议我在哪里犯错误。
答案 0 :(得分:0)
我所看到的是您正在尝试清理结果,而不是 SQL查询。因此,默认情况下这将返回false,因为wpdb->prepare()
检查具有sprintf / vsprintf格式模式的字符串。
https://developer.wordpress.org/reference/classes/wpdb/prepare/
根据变量包含的内容,您可能需要检查与其更相关的内容。
https://developer.wordpress.org/reference/functions/wp_json_encode/
- 将根据更多说明进行更新