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

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#801Login Security Solution272161544k+Output is not escaped
#802MakeCommerce for WooCommerce278264523k+Text Domain Mismatch
#803MaxGalleria272785672k+Non-prefixed global variable
#804Memberful – Membership Plugin273513361k+Text Domain Mismatch
#805MLSImport – Download and synchronize real estate data from various MLS (Multiple Listing Services)271545515k+Non-prefixed global variable
#806Nextend Social Login and Register271,668243200k+Output is not escaped
#807Online Lesson Booking27978281500Non Singular String Literal Domain
#808Rate My Post – Star Rating Plugin by FeedbackWP2722236020k+Output is not escaped
#809Shipit27371209400Text Domain Mismatch
#810Sign-up Sheets273253631k+Output is not escaped
#811Simple Download Monitor2721827320k+Output is not escaped
#812Social Web Suite – Social Media Auto Post, Social Media Auto Publish2774164500Non-prefixed global variable
#813Terms & Conditions Per Product275331,336800Non-prefixed global variable
#814Theme One Click Demo Importer27210157500Text Domain Mismatch
#815Transbank Webpay2719821110k+Non-prefixed global variable
#816Ultimate Watermark – Image Watermark, Image Protection & Bulk Watermarking271643031k+Nonce verification recommended
#817VOD Infomaniak2779738520k+Output is not escaped
#818Watu Quiz271,0891,0143k+Output is not escaped
#819Mihdan: Ajax Edit Comments271,300523500Text Domain Mismatch
#820Content Pilot – Autoblogging & Affiliate Marketing Suite27299269900Output is not escaped
#821WP-DBManager2738630460k+Non-prefixed global variable
#822Email Marketing Plugin – WP Email Capture273832621k+Output is not escaped
#823WP Events Manager2729441530k+Output is not escaped
#824WP Hide & Security Enhancer2712437550k+Input is not sanitized
#825wp-mpdf271233821k+Non-prefixed global variable
#826WPBase Cache271891132k+Text Domain Mismatch
#827YARPP – Yet Another Related Posts Plugin27191331100k+Non-prefixed global variable
#828Zibal Payment Gateway for Gravity Forms27828248400Text Domain Mismatch
#829AForms — Form Builder for Price Calculator & Cost Estimation28564953k+Text Domain Mismatch
#830Integration for Constant Contact and Contact Form 7, WPForms, Elementor, Ninja Forms28632351800Text Domain Mismatch
#831Integration for Mailchimp and Contact Form 7, WPForms, Elementor, Ninja Forms286493579k+Text Domain Mismatch
#832WP Zendesk for Contact Form 7, WPForms, Elementor, Formidable and Ninja Forms28659359400Text Domain Mismatch
#833Code Engine – PHP Snippets, AI Functions & Automation for WordPress2812496700Non Singular String Literal Domain
#834Contact Form by BestWebSoft – Advanced WP Contact Form Builder for WordPress2846533830k+Text Domain Mismatch
#835Maspik – Ultimate Spam Protection2821286230k+Missing nonce verification
#836Database Cleaner2813729710k+Direct Query
#837Deposits & Partial Payments for WooCommerce – Bayna285933361k+Output is not escaped
#838Dynamic User Directory284032561k+Output is not escaped
#839Discount Rules and Dynamic Pricing for WooCommerce2818233410k+Output is not escaped
#840easy.jobs – AI powered Job Listing, Job Board, Career Page, Recruitment & Hiring Solution284059244k+Missing nonce verification
#841Educare – Students & Result Management System281,1141,043800Missing nonce verification
#842Event Tickets Manager for WooCommerce281816481k+Non-prefixed global variable
#843FAPI Member28279153500Exception output is not escaped
#844گیت‌لند | درگاه پرداخت هوشمند گیت‌لند283272352k+Output is not escaped
#845Geo Mashup287752321k+Text Domain Mismatch
#846GS Books Showcase – Display Books in Grid, Slider & More | Library for WordPress2855437500Non-prefixed global variable
#847Integration for Google Sheets and Contact Form 7, WPForms, Elementor, Ninja Forms286413481k+Text Domain Mismatch
#848Kadence Starter Templates — Predesigned Website Templates28312215300k+Missing Arg Domain
#849WP to LinkedIn Auto Publish28734250900Unsafe printing function
#850Maven Algolia28148896k+Non Singular String Literal Domain