织梦在PHP7更改内容模型select|radio|checkbox类型字段时附加表无法更新
织梦在PHP7更改内容模型select|radio|checkbox类型字段时附加表无法更新
更改内容模型 select | radio | checkbox 类型字段时附加表无法更新,导致修改文档时选择的东西又还原回第一个 那是因为在php7中,MYSQL_ASSOC不再是一个常量,需要将MYSQL_ASSOC改为MYSQLI_ASSOC 解决方法有2种 第一种方法 网站后台 - 系统 - 系统基本参数 - 核心设置,数据库类型,改成 mysqli
第二种方法 打开 /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']; } }
完成,重新编辑字段保存就可以了。
更改内容模型 select | radio | checkbox 类型字段时附加表无法更新,导致修改文档时选择的东西又还原回第一个 那是因为在php7中,MYSQL_ASSOC不再是一个常量,需要将MYSQL_ASSOC改为MYSQLI_ASSOC 解决方法有2种 第一种方法 网站后台 - 系统 - 系统基本参数 - 核心设置,数据库类型,改成 mysqli
第二种方法 打开 /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']; } }
完成,重新编辑字段保存就可以了。