演示链接:查看演示

dedecms在PHP7更改内容模型select|radio|checkbox类型字段时附加表无法更新

dedecmsCMS在PHP7更改内容模型select|radio|checkbox类型字段时附加表无法更新

dedecmsCMS在PHP7更改内容模型select|radio|checkbox类型字段时附加表无法更新

更改内容模型 select | radio | checkbox 类型字段时附加表无法更新,导致修改文档时选择的东西又还原回第一个

 

那是因为在php7中,MYSQL_ASSOC不再是一个常量,需要将MYSQL_ASSOC改为MYSQLI_ASSOC

 

解决方法有2种

 

第一种方法

网站后台 – 系统 – 系统基本参数 – 核心设置,数据库类型,改成 mysqli

dedecmsCMS在PHP7更改内容模型select|radio|checkbox类型字段时附加表无法更新

第二种方法

 

打开 /dede/mychannel_field_edit.php 找到,大概在88-91行

 

while($nrow = $dsql->GetArray('a',MYSQL_ASSOC))

{

$fields[ strtolower($nrow['Field']) ] = $nrow['Type'];

}

 

改成

 

if(version_compare(PHP_VERSION, '7.0.0', '>='))

{

    while($nrow = $dsql->GetArray('a',MYSQLI_ASSOC))

    {

        $fields[ strtolower($nrow['Field']) ] = $nrow['Type'];

    }

}

else

{

while($nrow = $dsql->GetArray('a',MYSQL_ASSOC))

    {

        $fields[ strtolower($nrow['Field']) ] = $nrow['Type'];

    }

}

dedecmsCMS在PHP7更改内容模型select|radio|checkbox类型字段时附加表无法更新
 

完成,重新编辑字段保存就可以了。
 

THE END
喜欢就支持一下吧
点赞0 分享