Node.js MySQL أين
حدد مع مرشح
عند تحديد السجلات من جدول ، يمكنك تصفية التحديد باستخدام عبارة "WHERE":
مثال
حدد السجل (السجلات) بالعنوان "Park Lane 38":
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
con.query("SELECT * FROM customers WHERE address = 'Park Lane 38'", function (err, result) {
if (err) throw err;
console.log(result);
});
});
احفظ الكود أعلاه في ملف يسمى "demo_db_where.js" وقم بتشغيل الملف:
قم بتشغيل "demo_db_where.js"
C:\Users\Your Name>node demo_db_where.js
والتي ستعطيك هذه النتيجة:
[
{ id: 11, name: 'Ben', address: 'Park Lane 38'}
]
أحرف البدل
يمكنك أيضًا تحديد السجلات التي تبدأ أو تتضمن أو تنتهي بحرف أو عبارة معينة.
استخدم حرف البدل "٪" لتمثيل حرف واحد أو أحرف متعددة:
مثال
حدد السجلات حيث يبدأ العنوان بالحرف "S":
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
con.query("SELECT * FROM customers WHERE address LIKE 'S%'", function (err, result) {
if (err) throw err;
console.log(result);
});
});
احفظ الكود أعلاه في ملف يسمى "demo_db_where_s.js" وقم بتشغيل الملف:
قم بتشغيل "demo_db_where_s.js"
C:\Users\Your Name>node demo_db_where_s.js
والتي ستعطيك هذه النتيجة:
[
{ id: 8, name: 'Richard',
address: 'Sky st 331'},
{ id: 14, name: 'Viola', address: 'Sideway
1633'}
]
الهروب من قيم الاستعلام
عندما تكون قيم الاستعلام متغيرات يوفرها المستخدم ، يجب عليك تجاوز القيم.
هذا لمنع حقن SQL ، وهو أسلوب شائع لاختراق الويب لتدمير قاعدة البيانات الخاصة بك أو إساءة استخدامها.
تحتوي الوحدة النمطية MySQL على طرق للتخلص من قيم الاستعلام:
مثال
هروب قيم الاستعلام باستخدام mysql.escape()
الطريقة:
var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE address =
' + mysql.escape(adr);
con.query(sql, function (err, result) {
if (err) throw err;
console.log(result);
});
يمكنك أيضًا استخدام ?
عنصر نائب للقيم التي تريد الهروب منها.
في هذه الحالة ، يتم إرسال المتغير كمعامل ثاني في طريقة الاستعلام ():
مثال
هروب قيم الاستعلام باستخدام ?
طريقة العنصر النائب:
var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE address =
?';
con.query(sql, [adr], function (err, result) {
if (err) throw err;
console.log(result);
});
إذا كان لديك عدة عناصر نائبة ، فإن المصفوفة تحتوي على قيم متعددة ، بهذا الترتيب:
مثال
عدة عناصر نائبة:
var name = 'Amy';
var adr = 'Mountain 21';
var sql = 'SELECT * FROM
customers WHERE name = ? OR address = ?';
con.query(sql, [name, adr], function (err, result) {
if (err) throw err;
console.log(result);
});