准备动态查询和 get_results 不起作用

问题描述

我正在尝试开发一个简单的插件,但在审查过程中 wordpress 告诉我我必须在所有查询添加“preperare”。问题是,在下面的代码中,只有当我删除准备功能,但我需要它,因为WP不会上传它!

    $table_name = $wpdb->prefix . "_batches";
    $queryData = array('ASC','batch_id');
    $order = !empty(sanitize_text_field($_GET["order"])) ? sanitize_text_field($_GET["order"]) : '';
    $orderby = !empty(sanitize_text_field($_GET["orderby"])) ? sanitize_text_field($_GET["orderby"]) : 'ASC';

    if(!empty($orderby) & !empty($order)){
        $queryData[0] = $orderby;
        $queryData[1] = $order;
    }
    
    $totalitems = $wpdb->query($wpdb->prepare("SELECT * FROM $table_name ORDER BY %s %s",$queryData ));

    $perpage = 25;
    $queryData[2] = 0;
    $queryData[3] = $perpage;


    $paged = !empty(sanitize_text_field($_GET["paged"])) ? sanitize_text_field($_GET["paged"]) : '';


    if(empty($paged) || !is_numeric($paged) || $paged<=0 ){ $paged=1; }
    
    $totalpages = ceil($totalitems/$perpage);
    
     if(!empty($paged) && !empty($perpage)){
        $offset=($paged-1)*$perpage;
        $queryData[2] = (int)$offset;
        $queryData[3] = (int)$perpage;
    }

    $this->set_pagination_args( array(
        "total_items" => $totalitems,"total_pages" => $totalpages,"per_page" => $perpage,) );



    $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name ORDER BY %s %s  LIMIT %d,%d",$queryData ));

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)