تهريب نص SQL
مفيد لكتابة استعلام يدوي أو ملف بيانات أولية يحتوي أسماء مثل O'Reilly. في كود التطبيق استخدم الاستعلامات المُعاملة دائما.
جارٍ تحميل الأداة…
المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.
طريقة الاستخدام
- أدخل نوع قاعدة البيانات والنص.
- تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
- انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.
طريقة الحساب
المعيار (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.
