تهريب نص SQL

مفيد لكتابة استعلام يدوي أو ملف بيانات أولية يحتوي أسماء مثل O'Reilly. في كود التطبيق استخدم الاستعلامات المُعاملة دائما.

جارٍ تحميل الأداة…

المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.

طريقة الاستخدام

  1. أدخل نوع قاعدة البيانات والنص.
  2. تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
  3. انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.

طريقة الحساب

المعيار (PostgreSQL وSQLite وSQL Server وOracle): كل ' تصبح ''. نمط MySQL: تُسبق \ و' و" بشرطة عكسية، وتصبح NUL \0 والسطر \n والرجوع \r وCtrl+Z \Z، كما تفعل mysql_real_escape_string.

مثال

المدخلات: نوع قاعدة البيانات = المعيار: PostgreSQL وSQLite وSQL Server وOracle. النتيجة: قيمة SQL جاهزة: 'O''Reilly''s book'.

O'Reilly's book
'O''Reilly''s book'

الحدود والملاحظات

  • ليس حماية من حقن SQL في التطبيقات، فالحماية الصحيحة هي الاستعلامات المُعاملة.
  • في MySQL مع وضع NO_BACKSLASH_ESCAPES استخدم خيار المعيار.
  • لا يتعامل مع صيغة PostgreSQL E'' ولا البادئة N في SQL Server.

أسئلة شائعة عن هذه الأداة

كيف أكتب اقتباسا مفردا داخل نص SQL؟

في المعيار تضاعفه: 'O''Reilly'. وهذا يعمل في MySQL أيضا إلى جانب \'.

لماذا لا تُهرَّب الشرطة العكسية في المعيار؟

لأنها محرف عادي في نصوص SQL القياسية، فالمسار C:\temp يُكتب كما هو في PostgreSQL وSQLite.

وماذا عن النص العربي في SQL Server؟

أضف البادئة N قبل القيمة مثل N'مرحبا' عندما يكون العمود من نوع NVARCHAR.