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 element HTML adauga continut flash SWF in pagina web?
<object> <div> <script>
<object type="application/x-shockwave-flash" data="file.swf" width="500" height="250">
 <param name="src" value="file.swf" />
 Browser-ul dv. nu suporta SWF.
</object>
Care pseudo-clasa CSS adauga un stil la un camp input de formular cand e cursorul in el?
:active :focus :hover
input:focus {
  background-color: #88fe88;
}
Clic pe instructiunea care transforma un sir JSON in obiect JavaScript.
JSON.stringify(javascript_object) object.toString() JSON.parse(json_string)
var jsnstr = '{"url": "http://coursesweb.net/", "title": "Web Development Courses"}';
var obj = JSON.parse(jsnstr);
alert(obj.url);
Indicati functia PHP care poate crea sau scrie un fisier pe server.
fopen() file_put_contents() file_get_contents()
if (file_put_contents("file.txt", "content")) echo "Fisierul a fost creat";
else echo "Fisierul nu poate fi creat";
Cum se spune "al treilea" in engleza?
threeth third three
I planted the third tree.
- Am plantat al treilea pom.
Cum se spune "al treilea" in spaniola?
segundo tres tercero
Yo planté el tercero árbol.
- Am plantat al treilea pom.
Creare tabel in baza de date MySQL si Adaugare date

Last accessed pages

  1. Creare documente PDF cu PHP si FPDF (800)
  2. Pronumele direct si indirect (1641)
  3. Creare si editare pagini HTML (54776)
  4. Trecutul simplu si continuu - Past Tense Simple and Continuous (62313)
  5. Curs HTML gratuit Tutoriale HTML5 (116534)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (2235)
  2. Curs HTML gratuit Tutoriale HTML5 (1833)
  3. Curs si Tutoriale JavaScript (1678)
  4. Curs CSS Online Tutoriale CSS3 (1530)
  5. Curs PHP MySQL, Tutoriale si Scripturi PHP (1515)