如何序列化()MySQL更新数据

时间:2020-11-12 作者:Mehmet Cemil

您好,我想在mysql中使序列化读取值为1或0,我该怎么做

示例代码

 $query =  $wpdb->get_results(\'select * from wp_options where option_id = 96\');


    $dizi =   unserialize($query[0]->option_value);
     
      // echo $dizi[\'subscriber\'][\'capabilities\'][\'read\'];

       //print_r($dizi);

   if(array_key_exists(\'read\', $dizi[\'subscriber\'][\'capabilities\'])){


       echo $dizi[\'subscriber\'][\'capabilities\'][\'read\'] = 0;
       

   }

   exit;

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

您不应该使用原始SQL来修改角色和功能,这是非常糟糕的做法,而且没有必要。

相反,请使用角色API,例如。

$role = get_role( \'subscriber\' );
$role->add_cap( \'read\' ); 
或将其添加到特定用户:

$user = new WP_User( $user_id );
$user->add_cap( \'read\' );
同样,您可以从角色中删除功能:

$role = get_role( \'subscriber\' );
$role->remove_cap( \'read\' );