pawn-mysql-samp-expert

Generate safe mysql_samp Pawn database code for SA-MP and Open.mp.

Updated Jun 16, 2026
One-click install
npx skills add https://github.com/sittiev/pawn_skills --skill pawn-mysql-samp-expert
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pawn-mysql-samp-expert
Source: https://github.com/sittiev/pawn_skills/tree/main/skills/pawn-mysql-samp-expert
Command: npx skills add https://github.com/sittiev/pawn_skills --skill pawn-mysql-samp-expert

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers write reliable Pawn database code for SA-MP and Open.mp without blocking the server, misusing cache reads, or carrying over outdated BlueG R41-4 patterns.

Core Features & Use Cases

  • Async MySQL workflows: Create connection, query, and callback patterns that keep gameplay responsive.
  • Safe data handling: Use escaping, cache guards, and error callbacks to reduce SQL injection and runtime failures.
  • ORM and migration support: Load, save, and migrate player data with modern mysql_samp APIs and cleaner return-value based cache access.
  • Use case: Build account login, character saving, and server-side persistence systems that are ready for production use.

Quick Start

Ask for a mysql_samp Pawn example that connects to MySQL, runs an async query, and reads the callback cache safely.

Frequently Asked Questions about pawn-mysql-samp-expert

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run async MySQL queries in Pawn SA-MP without blocking the server?

Async MySQL queries in SA-MP use mysql_pquery to execute non-blocking database calls with callbacks. This keeps gameplay responsive by processing results asynchronously rather than freezing the main game thread.

What is the correct way to read cache values from mysql_samp in Pawn?

Reading cache values in mysql_samp requires checking cache_get_row_count first, then using cache_get_value_name_* functions while verifying their return values to safely extract data and prevent runtime failures.

How do I migrate from BlueG R41-4 to modern mysql_samp Pawn code?

Migrating from BlueG R41-4 to mysql_samp involves updating to return-value based cache access with cache_get_value_name_*, replacing outdated query patterns, and adopting modern async mysql_pquery workflows for safer database operations.

Does mysql_samp support ORM for saving player data in Open.mp?

mysql_samp supports ORM persistence in Open.mp through orm_setkey and orm_apply_cache sequencing. This allows you to load, bind, and save player character data with structured database mapping.

How do I handle SQL injection and query errors in SA-MP MySQL scripts?

Handle SQL injection in SA-MP by using mysql_format for string escaping, and manage query errors by implementing OnQueryError callbacks to catch and log failed database operations safely.

Why are my cache reads returning invalid data in async Pawn callbacks?

Cache reads return invalid data when cache guards like cache_get_row_count are skipped or return values from cache_get_value_name_* are unchecked. Always verify row existence and function return values before accessing data.