问题描述
错误:(SELECT IF(pa.store_id = 9,pa.status,'null') FROM products_actions pa WHERE p.id = pa.product_id AND pa.store_id = 9) AS store_1
我该如何解决这个问题?
wp-config.php是正确的。
解决方法
我通过添加以下内容来解决:
static func encodingStrToDecoder(_ encoding: String) -> some UnicodeCodec {
switch encoding {
case Encoding.utf8:
print("Returning UTF8")
return UTF8()
case Encoding.utf16:
print("Returning UTF16")
return UTF16()
case Encoding.utf32:
print("Returning UTF32")
return UTF32()
default:
print("Returning UTF8 (DEFAULT)")
return UTF8()
}
}
,
要解决此错误,您必须添加
define('WP_ALLOW_REPAIR',true);
wp-config.php 文件中的上面一行。
如果此方法不起作用,则必须检查是否有数据库备份,然后创建新数据库和新用户,然后在新数据库中导入备份的数据库 SQL 文件。 然后将数据库凭据替换为 wp-config.php 文件中的旧凭据。
这个方法可以帮到你。
,我使用 windows、xampp 7.1,并且每个月都会遇到这个 wordpress 数据库损坏。 WP_ALLOW_REPAIR 什么都不做,wp repair 只是显示一切正常。调试日志中没有任何内容。
无论如何,当我去 phpmyadmin 时,我发现 wp_options 表无法打开,phpmyadmin 建议修复它。
我使用 sql 命令修复了表 -
repair table newdb28.wp_options use_frm;
use_frm 是告诉 db 忽略索引并仅通过数据重新创建 db 的东西。
我可以点击并查看 wp_options 中的数据,但 wordpress 仍然无法正常工作..
我在命令行(以管理员身份运行的命令行)中到 xampp 到 xampp7.1\mysql\bin\mysqlcheck 并运行命令来修复我数据库中的所有表
mysqlcheck dbname -uroot --auto-repair --use-frm
检查所有表都OK,但你可以猜到 wp 仍然没有工作。
解决方案:我去了 wp_options 表,按 id 排序,注意到最低的 id 是 7。然后检查了我的其他 wp 项目,看到这里的行以 id 3 开头,并且 7+ 的键与我损坏的数据库相同..所以我导出了那些 id 3-6 行并将它们导入到其他表中,一切都奇迹般地工作了......(wp_options 中那些缺失的行是显而易见的复制粘贴内容,但第一个是我相应地设置的“siteurl”,如果你使用旧版本或开发相同项目的版本会更容易)。
还检查了我一个月前损坏的数据库,由于某种原因我没有删除它,并且它在 wp_options 表中缺少前 5 行时遇到了同样的问题...
无论如何,如果这对未来的任何人有帮助,那就值得大惊小怪:)