Curs Javascript

- Adaugare date in tabel
- Adaugare mai multe randuri

Creare tabel

Pentru a crea un tabel in MySQL, se utilizeaza instructiunea "CREATE TABLE".
Cand creezi conexiunea adauga proprietatea "database" in metoda mysql.createConnection() cu numele bazei de date.
- In acest exemplu vom crea un tabel "friends" in baza de date mysql "nodedb:
const mysql = require('mysql');

const con = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'pass',
  database: 'nodedb',
  charset: 'utf8' //encoding charset
});

let sql ='CREATE TABLE IF NOT EXISTS friends (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, address VARCHAR(255))';
  
con.query(sql, (err, res)=>{
  if(err) throw err;
  console.log('Table created.', res);

  con.end(err=>{
    if(err) throw err;
    console.log('Connection is terminated.');
  });
});
Salveaza codul de mai sus intr-un fisier numit "mysql_create_table.js" si ruleaza fisierul:
node test/mysql_create_table.js

Adaugare date in tabel

Pentru a introduce date in tabelul MySQL, se foloseste interogare SQL "INSERT INTO".
Pentru a evita "SQL injection", ar trebui sa filtrati datele furnizate de utilizator inainte de a le utiliza in interiorul unei interogari SQL. Pentru aceasta se foloseste metoda mysql.escape().
Alternativ, puteti utiliza caracterele ? ca substituenti pentru valorile care le doriti filtrate, si adaugati valorile intr-un array ca al doilea argument al metodei query() (in aceeasi ordine ca si substituentii '?' din interogarea sql).
- Exemplu cu escape(), introduce un rand cu valori pentru campurile name si address.
const mysql = require('mysql');

const con = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'pass',
  database: 'nodedb',
  charset: 'utf8' //encoding charset
});

var name ='Olpram';
var adr ='Heaven, Peace 0';
let sql ='INSERT INTO friends (name, address) VALUES ('+ mysql.escape(name) +', '+ mysql.escape(adr) +')';

con.query(sql, (err, res)=>{
  if(err) throw err;
  console.log(res);

  con.end(err=>{
    if(err) throw err;
    console.log('Connection is terminated');
  });
});
- Sau, aceeasi instructiune INSERT, cu substituenti '?':
const mysql = require('mysql');

const con = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'pass',
  database: 'nodedb',
  charset: 'utf8' //encoding charset
});

var name ='Olpram';
var adr ='Heaven, Peace 0';
let sql ='INSERT INTO friends (name, address) VALUES (?, ?)';

con.query(sql, [name, adr], (err, res)=>{
  if(err) throw err;
  console.log(res);

  con.end(err=>{
    if(err) throw err;
    console.log('Connection is terminated');
  });
});
Salveaza codul de mai sus intr-un fisier numit "mysql_insert.js" si ruleaza fisierul:
node test/mysql_insert.js
Va da acest rezultat, un obiect cu informatii despre interogarea efectatuata:
{
  fieldCount: 0,
  affectedRows: 1,
  insertId: 1,
  serverStatus: 2,
  warningCount: 0,
  message: '',
  protocol41: true,
  changedRows: 0
}
Connection is terminated.
- Pentru tabele cu camp "id" AUTO_INCREMENT, poti obtine id-ul randului adaugat apeland proprietatea "insertId" a obiectului rezultat.
console.log('1 record inserted, ID: '+ res.insertId);

Adaugare mai multe randuri

Pentru a introduce mai multe randuri cu aceeasi instructiune SQL, creaza un array cu valorile ce trebuie adaugate si pune caracterul '?' in sql, care va fi inlocuit cu acel array:
let sql ='INSERT INTO friends (name, address) VALUES ?';
let values =[
  ['a', 'b'],
  ['a2', 'b2'],
  //...
];
Adauga array-ul cu valori intr-un alt array ca al doilea argument in functia con.query():
con.query(sql, [values], (err, res)=>{});

- Cand sunt introduse mai multe randuri, valoarea res.insertId contine id-ul AUTO_INCREMENT al primului rand introdus.
In acest caz, pentru a obtine id-ul AUTO_INCREMENT al ultimului rand introdus, foloseste:
var last_id = res.insertId + res.affectedRows -1;
- Proprietatea res.affectedRows contine numarul de randuri introduse.
Exemplu:
const mysql = require('mysql');

const con = mysql.createConnection({
  host: '127.0.0.1',
  user: 'root',
  password: 'pass',
  database: 'nodedb',
  charset: 'utf8' //encoding charset
});

let sql ='INSERT INTO friends (name, address) VALUES ?';
let values = [
  ['Xela', 'Good 71'],
  ['Rotciv', 'Helpful 4'],
  ['Noi', 'Loving st 652'],
  ['Anilehgna', 'Blessing 21']
];

con.query(sql, [values], (err, res)=>{
  if(err) throw err;
  var last_id = res.insertId + res.affectedRows -1;
  console.log('Number of records inserted: '+ res.affectedRows +'\n Id of first  inserted row: '+ res.insertId +'\n Id of last inserted row: '+ last_id);

  con.end(err=>{
    if(err) throw err;
    console.log('Connection is terminated.');
  });
});
Salveaza codul de mai sus intr-un fisier numit "mysql_insert2.js" si ruleaza fisierul:
node test/mysql_insert2.js
Iti va da un rezultat ca acesta:
Number of records inserted: 4
Id of first inserted row: 2
Id of last inserted row: 5
Connection is terminated.

Daca e adaugat sirul "localhost" in proprietatea "host", si rezulta aceasta eroare:
Error: getaddrinfo ENONET localhost:3306
- Incearca sa folosesti: "127.0.0.1"

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag se foloseste pentru a adauga liste in elemente <ul> si <ol>?
<dt> <dd> <li>
<ul>
 <li>http://coursesweb.net/html/</li>
 <li>http://www.marplo.net/html/</li>
</ul>
Care valoare a proprietatii "display" seteaza elementul ca tip bloc si afiseaza un punct in fata?
block list-item inline-block
.some_class {
  display: list-item;
}
Care instructiune JavaScript transforma un obiect in sir JSON.
JSON.parse() JSON.stringify eval()
var obj = {
 "courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr);    // {"courses":["php","javascript","ajax"]}
Indicati clasa PHP folosita pentru a lucra cu elemente HTML si XML in PHP.
stdClass PDO DOMDocument
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue;    // CoursesWeb.net
Indicati forma de Prezent Continuu a verbului "to live" (a trai /a locui)
lived living liveing
I`m living here.
- Traiesc /Locuiesc aici.
Care este forma de Gerunziu (sau Participiu Prezent) a verbului "vivir" (a trai /a locui)?
viviĆ³ vivido viviendo
Estoy viviendo aquĆ­.
- Traiesc /Locuiesc aici.
Creare tabel in baza de date MySQL si Adaugare date

Last accessed pages

  1. Clasificarea adverbelor - Adverbs classification (13268)
  2. Invataturile Alesului si Evanghelia Eseniana a Pacii (2202)
  3. Evanghelia Eseniana a Pacii - 2 (640)
  4. Evanghelia Eseniana a Pacii - 1 (1307)
  5. Alphabet and Pronunciation - Alfabetul si pronuntia in limba engleza (59976)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (680)
  2. Coduri pt culori (303)
  3. Exercitii engleza - English Tests and exercises - Grammar (302)
  4. Gramatica limbii engleze - Prezentare Generala (296)
  5. Cursuri limba engleza gratuite si lectii online (272)