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);
});