
How to Build Secure Dynamic Filters in PHP and MySQL With PDO
Build secure dynamic filters in PHP and MySQL with PDO using bound values, allowlisted identifiers, reusable predicates, stable sorting, and safe pagination.
WordPress, PHP, and practical AI consulting
I help founders and product teams solve difficult software problems, modernize codebases, and ship reliable products.
More than 25 years across PHP, WordPress, product engineering, and remote team leadership, including building the original WishList Member and continuing that work at Caseproof.
Build secure dynamic filters in PHP and MySQL with PDO using bound values, allowlisted identifiers, reusable predicates, stable sorting, and safe pagination.
Handle urgent requests during a sprint with explicit scope and deadline tradeoffs. Use a simple change record to protect delivery commitments and make priority decisions visible.
A legacy PHP code audit should deliver evidence, prioritized risks, reproducible findings, and a modernization roadmap tied to business outcomes.
Make async decision-making work for remote development teams with clear owners, proposals, response windows, and final records. Resolve decisions without endless comment threads.
My WordPress to static site move gave mikelopez.com a $0 hosting bill, simpler maintenance, a smaller attack surface, and fast Cloudflare Pages delivery, with AI remaining optional.
Build software delivery estimates that include reviews, testing, dependencies, and release work. Use a practical worksheet to separate effort, waiting, assumptions, and forecast changes.
Choose a legacy PHP modernization strategy with a practical decision matrix for incremental refactoring, replatforming, and full rewrites.
Spot a slipping software deadline through aging work, missed evidence, and unresolved dependencies. Use a practical risk review to make scope and date decisions while options remain.
Upgrade legacy PHP with Rector in controlled version steps, using dry runs, tests, static analysis, small commits, and a clear rollback path.
Redesign remote team status meetings around decisions, useful updates, and human connection. Test a lighter meeting rhythm that protects focus without leaving colleagues isolated.








