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

1601950913-7bb536ea43021a7

更改内容模型 select | radio | checkbox 类型字段时附加表无法更新,导致修改文档时选择的东西又还原回第一个
 
那是因为在php7中,MYSQL_ASSOC不再是一个常量,需要将MYSQL_ASSOC改为MYSQLI_ASSOC
 
解决方法有2种
 
第一种方法
网站后台 – 系统 – 系统基本参数 – 核心设置,数据库类型,改成 mysqli

1601950913-1e11a3e2b256c03

第二种方法
 
打开 /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’];
    }
}


1601950914-9852bb4b7b49ee1

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