prepared statements فى adobe AIR


السلام عليكم و رحمه الله تعالى و بركاته

عند تعاملك مع ال api الخاصه ب SQL statement فى Adobe air فإنك سوف تلاحظ الخاصيه parameters فى الكائن SQLStatement و هى الخاصيه التى تمكنك من إستخدام prepared statements و الكود التالى يوضح عدم إستخدامه :

var select = new air.SQLStatement();

var uid=document.getElementById(“uid”).value;

select.text=”SELECT * FROM users WHERE u-id = ‘ ” + uid +” ‘ “;

select.execute();

أما الكود التالى يوضح كيفيه إستخدام prepared statements يمكنك المقارنه بينهما

var select = new air.SQLStatement();

var uid=document.getElementById(“uid”).value;

select.text=”SELECT * FROM users WHERE u-id = @uid”;

select.parameters[“@uid”] = uid;

select.execute();

لابد أنك لاحظت @uid فى جمله ال SQL فى المثال التانى و هى عباره عن حاويه للقيمه التى تحفظها الخاصيه parameter بنفس الإسم و يمكنك أيضا إستخدام علامه الإستفهام فى جمله SQL للإشاره إلى ال prepared statements كما يلى

select.text=”SELECT * FROM users WHERE u-id = ? and u-name = ?”;

select.parameters[0] = uid;

select.parameters[1] = uname;

select.execute();

فى هذه الحاله تم الإشاره إلى prepared statements فى جمله ال SQL بعلامه إستفهام ؟ و تم إعطائها قيمه من خلال خاصيه parameters و لكن فى هذه الحاله عباره عن مصفوفه مرتبه رقميا .

ما هى فوائد prepared statements ?

تمنع هجمات SQL injection حيث انها تعتبر جزء مفصول تماما عن جمله ال SQL حيث ان الجمله تعرب اولا فى محرك الترجمه الخاص ب SQL ثم يقوم بإدراج القيم ، و بما إنها تعرب الجمل أولا فإنها تعربها مره واحده فقط عندما تستخدم اكتر من مره مع قيم مختلفه و بذلك تزيد الكفاءه فى حاله استخدا جمل SQL كبيره و معقده و فى نفس الوقت يسهل عليك فهم الجمل لأنك تقوم بالإشاره إلى مصادر القيم بأسماء مفهومه .

متى أستخدم prepared statements ?

إستخدمها عند تنفيذ جمله ال SQL اكثر من مره و لكن بقيم اخرى عديده داخل loop او غيره ، ولا تستخدمها اذا كانت الجمله تستخدم مره واحد فقط🙂

الأوسمة: , , , ,

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s


%d مدونون معجبون بهذه: