WordPress.DB.PreparedSQL.NotPrepared

SQL query is not prepared

A database query includes dynamic data without using `$wpdb->prepare()` or an equivalent safe pattern.

critical weight

Why It Shows Up

The scan found a SQL string passed to `$wpdb` where variables appear to be interpolated or concatenated directly.

Why It Matters

Unprepared SQL can allow SQL injection when user-controlled values reach the query.

How to Fix

  • Move dynamic values into placeholders such as `%s`, `%d`, `%f`, or `%i` where supported.
  • Pass the values as separate arguments to `$wpdb->prepare()`.
  • For table names, column names, and sort directions, use strict allowlists instead of raw user input.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsUpdatedTop Issue
#651WP ADA Compliance Check Basic287851773k+Text Domain Mismatch
#652WPS Bidouille2847221510k+Output Not Escaped
#653WP Synchro – The Ultimate WordPress Migration Tool282432442k+Missing Translators Comment
#654Accordion Slider293914442k+Unsafe Printing Function
#655AL Pack29138162k+Non Prefixed Variable Found
#656Attribute Stock for WooCommerce – Shared Stock & Variable Quantities (Lite Version)294813132k+Text Domain Mismatch
#657Better Google Analytics293768692k+Non Prefixed Variable Found
#658Bitcoin Payments – Blockonomics292082273k+Output Not Escaped
#659Plugin BlueX for WooCommerce294312162k+Text Domain Mismatch
#660Integration for Salesforce and Contact Form 7, WPForms, Elementor, Formidable, Ninja Forms292363692k+Non Prefixed Variable Found
#661Chained Quiz291,1327211k+Text Domain Mismatch
#662CloudSecure WP Security2974350100k+Missing Unslash
#663Countdown, Coming Soon, Maintenance – Countdown & Clock291,73514310k+Non Singular String Literal Domain
#664Database Cleaner2913529710k+Direct Query
#665Document Gallery29183988k+Output Not Escaped
#666DoLogin Security293123057k+Output Not Escaped
#667Interactive Image Map Plugin – Draw Attention2962022720k+Output Not Escaped
#668Everest Toolkit291451411k+Missing Translators Comment
#669Advanced Shipping Rates for WooCommerce: Flexible Table Rate Shipping Rules291855042k+Non Prefixed Variable Found
#670reCaptcha by BestWebSoft29474272100k+Text Domain Mismatch
#671Page View Count2910824710k+Dynamic Hookname Found
#672Post Views Counter29179398200k+Non Prefixed Hookname Found
#673Recipe Card Blocks Lite2915140810k+Non Prefixed Variable Found
#674SamedayCourier Shipping293362694k+Non Singular String Literal Domain
#675Security Ninja – WordPress Security & Firewall291493477k+Direct Query
#676Sender – Newsletter, SMS and Email Marketing Automation for WooCommerce291462465k+Unsafe Printing Function
#677ووسلام – همگام سازی ووکامرس و باسلام291926114k+Non Prefixed Variable Found
#678Themify – WooCommerce Product Filter2964314520k+Output Not Escaped
#679User Verification by PickPlugins29413145k+Missing Unslash
#680weMail – Email Marketing, Newsletter Builder & Email Automations for WooCommerce292766810k+missing direct file access protection
#681WP-PostRatings2942538430k+Output Not Escaped
#682Xpro Addons — 140+ Widgets for Elementor292782630k+Non Prefixed Variable Found
#683Dynamic Pricing With Discount Rules for WooCommerce301361315k+Output Not Escaped
#684Advanced Database Cleaner – Optimize & Clean Database to Speed Up Site Performance30164439100k+Interpolated Not Prepared
#685PublishPress Blocks – Block Controls, Block Visibility, Block Permissions3025134020k+Unsafe Printing Function
#686ApplyOnline – Application Form Builder and Manager303542602k+Output Not Escaped
#687aThemes Starter Sites3025919540k+Text Domain Mismatch
#688Buy Me a Coffee – Button and Widget Plugin301391406k+Output Not Escaped
#689Sliding Cart for WooCommerce by FunnelKit – Skip Cart & Reach WooCommerce Checkout Faster3030643430k+Non Prefixed Variable Found
#690Custom Field Template3052161830k+Recommended
#691Easy Affiliate Links301861987k+missing direct file access protection
#692Anti-spam, Spam protection, ReCaptcha for all forms and GDPR-compliant302642214k+Missing Unslash
#693Import WooCommerce Suite30804344k+Interpolated Not Prepared
#694Meow Gallery3011118210k+Direct Query
#695PayU CommercePro Plugin30952707k+Text Domain Mismatch
#696SMTP for Amazon SES – YaySMTP301971223k+Exception Not Escaped
#697User Role by BestWebSoft – Add and Customize Roles and Capabilities in WordPress304842803k+Text Domain Mismatch
#698Waitlist Woocommerce ( Back in stock notifier )302723114k+Output Not Escaped
#699Checkout with Cash App on WooCommerce301223082k+Non Prefixed Variable Found
#700Dropify301302522k+Recommended