foreach中的SELECT * FROM对我来说不正确

问题描述 投票:0回答:1

我有一个foreach会阻止您在复选框中选择的访问者,但代码无法正常工作,因为当我是阻止用户访问某个字符时,该代码不能正确读取;当我阻止某个用户访问该字符时,该代码却不能正确读取;没看清楚;

    case 'bulk_block_visite_agents':

    if ( empty( $_POST['useragentname'] ) || ! is_array( $_POST['useragentname'] ) ) {
                    return;
       }
    foreach ($_POST['useragentname'] as $agent_id) {
     $addagent1 = $wpdb->query("SELECT * FROM {$wpdb->prefix}lcl_user_agent WHERE user_agent = '".$agent_id."'");

    if ($addagent1 > 0){

     } else {
      $this->block_viste_agent( absint( $agent_id ), true);
     } 

}
     break;

[这里,我希望用户代理存在,因此不做任何事情或不添加它,但是当我发送1个表lcl_user_agent中不存在的用户代理,并且同一表中也有一个用户代理时该脚本添加了两个用户代理,但不应添加仅存在的用户代理中已经存在的用户代理

而且我提到,如果我使用数字,脚本可以处理字符示例,但是效果很好,但是我不知道为什么使用用户代理不能正常工作

我做错了什么?

php sql wordpress plugins
1个回答
0
投票

如果不需要if()语句,只需将代码更改为

foreach ($_POST['useragentname'] as $agent_id) {
 $addagent1 = $wpdb->query("SELECT * FROM {$wpdb->prefix}lcl_user_agent WHERE user_agent = '".$agent_id."'");

     if ($addagent1 < 0){
     $this->block_viste_agent( absint( $agent_id ), true);
     }
 } 
© www.soinside.com 2019 - 2024. All rights reserved.