【问题标题】:PHPMyadmin does not show mysql error messagesPHPMyadmin 不显示 mysql 错误信息
【发布时间】:2011-01-19 13:46:13
【问题描述】:

我在我的网站上安装了 phpMyAdmin,它可以工作。但是当我输入错误的查询时,它不会显示 mysql 错误消息,只显示错误代码。

1064 -

我希望得到以下结果:

1064 - 你的废话有错误...

如果没有错误消息,很难知道出了什么问题。

在我的 php 脚本中,我可以通过 mysql_error() 获取错误消息。但 myAdmin 什么也没显示。

我用谷歌搜索了很多,但没有发现任何有用的东西。

如何让它显示错误信息?

有什么想法吗?

【问题讨论】:

  • 登录到 phpMyAdmin 后,右下角会显示可能有帮助的错误消息。我在其中一台服务器上遇到了同样的问题,我收到以下消息:“您的 PHP MySQL 库版本 5.0.45 与您的 MySQL 服务器版本 5.1.48 不同。这可能会导致不可预知的行为。”这是我没有烦恼的事情,但需要图书馆更新/ MySQL Roll。
  • 属于sererfault但可以看这里serverfault.com/questions/12020/…
  • 这是一个全新的 phpmyadmin 安装。我没有任何关于不同版本的警告信息。我看到了那个 SF 帖子,但我认为那个人根本没有 mysql 错误消息。请注意,在我的 php 脚本中,我可以通过 mysql_error 获取错误消息。

标签: php mysql phpmyadmin syntax-error


【解决方案1】:

从您得到“#1064 -”作为输出的事实来看,我只能在 phpMyAdmin 3.3.9.2 源代码中找到两个可能发生错误的位置。第一个是对mysql_errormysqli_error 的调用,具体取决于您的安装使用的后端。我看到你说mysql_error 工作正常;如果你第一次登录时得到的 phpMyAdmin 信息页面表明正在使用 mysqli,你可能也想检查一下。

但如果 mysql_error 有效,则问题似乎更可能出在 library/database_interface.lib.php 中 phpMyAdmin 的字符集转换函数PMA_DBI_convert_message 中。您可以通过在该函数的最顶部插入return $message; 来轻松确认这一点,绕过那里的所有其他内容。如果这使它(或多或少)起作用,您可能想确定$server_language$GLOBALS['charset'] 的设置;查看转换是否使用iconvrecode_stringlibiconvmb_convert_encoding;然后尝试找出其中任何一个未能正确转换错误消息的原因。

【讨论】:

  • 我的虚拟主机运行它自己的 myadmin 安装,所以我无法访问它的配置。但是我在我的网站上安装了一个 pma,这个(return $message)黑客在它上面运行良好。 (无论如何我不介意错误的编码,只要它们是英文的。)
【解决方案2】:

服务器可能无法正确访问 LOCALE 设置。它发生在 chroot-ed / chjail-ed 环境或配置不佳。

根据@Anomie 的回答,我做了一个解决方法。

对于 phpmyadmin 4.4.3 更改文件 libraries/DatabaseInterface.class.php 中的 Fallback 设置

 /* Fallback to CP1252 if we can not detect */
        $encoding = 'UTF-8';

对于一些旧版本,编辑文件libraries/database_interface.lib.php并设置 array $encodings => 'english' 值到 UTF-8(~第 273 行),

'english'       => 'UTF-8', //'latin1',

【讨论】:

    【解决方案3】:

    你看到了吗:

    $cfg['Error_Handler']['display'] 布尔值

    是否显示来自 PHP 的错误。

    $cfg['Error_Handler']['gather'] 布尔值

    是否从 PHP 中收集错误。

    In the docs?

    【讨论】:

      【解决方案4】:

      遇到了同样的问题,通过在我的浏览器中为 phpmyadmin 禁用 FireFox 插件 uBlock(版本:Origin 1.25.2)来解决。

      【讨论】:

        猜你喜欢
        • 2011-08-06
        • 1970-01-01
        • 1970-01-01
        • 2021-02-26
        • 1970-01-01
        • 1970-01-01
        • 2016-07-25
        • 2013-08-20
        • 2019-02-03
        相关资源
        最近更新 更多