【问题标题】:How to fix phpMyAdmin Fatal error: Uncaught TypeError: mb_strtolower() expects parameter 1 to be string如何修复 phpMyAdmin 致命错误:未捕获的 TypeError:mb_strtolower() 期望参数 1 为字符串
【发布时间】:2021-12-08 04:08:07
【问题描述】:

PhpMyAdmin 在执行查询时导致错误:

SELECT * FROM users u 
    INNER JOIN address a ON u.userid=a.id
    INNER JOIN  health_status h ON u.userid=h.uid
    WHERE u.userid='1634627411'
SELECT * 
from users u 
    INNER join friends f on u.userid=f.user 
    inner join friends f1 on u.userid = f1.friend 
WHERE f.user="1634627411"

两个查询都抛出错误

错误:

致命错误:未捕获的 TypeError:mb_strtolower() 期望参数 1 为字符串,/Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php:3095 中给出的 null 堆栈跟踪:#0 /Applications/ XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php(3095): mb_strtolower(NULL) #1 /Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php(2772): PhpMyAdmin\Display \Results->getRowInfoForSpecialLinks(Array, Array) #2 /Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php(2613): PhpMyAdmin\Display\Results->getRowValues(Object(mysqli_result), Array, 0,数组,数组,'',数组,'SELECT * FROM u...',数组)#3 /Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php(4219): PhpMyAdmin\Display \Results->getTableBody(Object(mysqli_result), Array, Array, Array, false) #4 /Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Sql.php(1364): PhpMyAdmin\Display\Results->getTable(对象(mysqli_resul t), Array, Array, false) #5 /Application in /Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php on line 3095

我已经尝试过这个问题answer

我的phpmyadmin版本也是最新的5.1.1

错误是什么意思以及如何解决?

【问题讨论】:

  • 当您运行其他查询或仅此一个查询时会发生这种情况
  • PhpMyAdmin 在执行查询时导致错误 该错误与显示的查询无关。 SQL 代码是绝对合法的。唯一的一点 - 在 WHERE 中使用字符串文字而不是数字的原因是什么?
  • 当我运行 select * from users 时它可以工作,但当我使用 inner join 语法时没有
  • 我认为@Akina 的意思是如果你尝试WHERE u.userid=1634627411 会发生什么,即在数值周围没有引号
  • 您添加了另一个查询,但您没有说它是否有效或是否也会导致错误

标签: php phpmyadmin php-8.1


【解决方案1】:

您需要升级您的 phpMyAdmin 版本。 5.1.1 版本与 PHP 8.1 不兼容。

截至发稿,新版本似乎还没有准备好,所以暂时降级到 PHP 8.0。

【讨论】:

  • 我正在使用 XAMPP 服务器执行 php 代码,现在我的 php 的当前版本是 7.4.24 如何升级到 8.0
  • PHP 8.0 中不存在此错误。因此,您可以使用 PHP 8.0 而不会出现重大问题。我很久以前就停止使用 XAMPP,所以我不记得他们的升级过程是什么。
猜你喜欢
  • 1970-01-01
  • 2019-11-09
  • 2023-03-15
  • 2019-12-09
  • 1970-01-01
  • 1970-01-01
  • 2021-11-13
  • 2015-10-09
相关资源
最近更新 更多