- Executare siruri cu instructiuni SQL

Laravel suporta in prezent urmatoarele 4 baze de date: MySQL, Postgres, SQLite, si SQL Server.
- In acest tutorial voi folosi Laravel cu baza de date MySQL, care este, de asemenea, Baza de date implicita definita la instalarea framework-ului Laravel.

Conectare la Baza de Date MySQL

Mai intai, creati o Baza de Date in MySQL. Pentru acest tutorial am creat cu PhpMyAdmin o baza de date numita "lrvt".
Apoi, deschideti fisierul .env (in directorul unde aveti Laravel instalat) si adaugati datele voastre pentru conectare la MySQL.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=lrvt
DB_USERNAME=root
DB_PASSWORD=null
- Este bine sa aveti aceleasi date adaugate in fisierul config/database.php, la array-ul "mysql" in "connections".
'mysql'=>[
  'driver'=> 'mysql',
  'host'=> env('DB_HOST', '127.0.0.1'),
  'port'=> env('DB_PORT', '3306'),
  'database'=> env('DB_DATABASE', 'lrvt'),
  'username'=> env('DB_USERNAME', 'root'),
  'password'=> env('DB_PASSWORD', ''),
  //...
],
Metoda env() obtine valoare unei variabile de mediu sau returneaza o valoare implicita (adaugata la al doilea argument)
Fisierul config/database.php este de fapt fisierul de configurare care e folosit. Doar ca foloseste valori din env. Asta va permite sa nu fie nevoie sa modificati fisierele de configurare cand aveti un proiect pe servere diferite. Puteti avea doar un fisier .env diferit.

Daca vreti sa testati conexiunea la baza de date MySQL, adaugati acest cod in routes/web.php :
Route::get('test-conn',function(){
  // Test database connection
  try {
    DB::connection()->getPdo();
    if(DB::connection()->getDatabaseName()){
      return 'Successfully connected to the DB: '. DB::connection()->getDatabaseName();
    }
  } catch (\Exception $e){
    return 'Could not connect to the database. Please check your configuration.';
  }
});
- Apoi, accesati acest URL:
//localhost:8000/test-conn

Executare siruri cu instructiuni SQL

Dupa ce ati configurat conexiunea la baza de date, puteti executa interogari SQL folosind Clasa DB.
Clasa DB furnizeaza metode pentru fiecare tip de interogare: select, update, insert, delete si statement.

Metoda statement()

Metoda DB::statement() este folosita pentru interogari care nu returneaza nici o valoare, precum: "CREATE TABLE" si "DROP TABLE".
DB::statement('drop table users');

Metoda insert()

Metoda DB::insert() este folosita pentru a executa interogarea INSERT. Primul argument e sirul SQL INSERT, al doilea argument e un array-ul cu valori pentru inlocuitorii "?" folositi in sirul SQL. Returneaza True sau False.
DB::insert('insert into users (id, name) values (?, ?)', [1, 'MarPlo']);
- Sau cu inlocuitori ":nume":
DB::insert('insert into users (id, name) values (:id, :name)', ['id'=>1, 'name'=>'MarPlo']);
Pentru a obtine ultimul id introdus intr-o coload 'id' AUTO_INCREMENT cand o interogare Insert este efectuata cu metoda DB::insert(), folositi metoda DB::getPdo()->lastInsertId() dupa ce afirmatia insert este executata.
$sql ='insert into users (id, name) values (:id, :name)';
DB::insert($sql, ['id'=>1, 'name'=>'MarPlo']);
$last_id = DB::getPdo()->lastInsertId();

Interogare Select

Metoda DB::select() returneaza un array cu randurile rezultate.
$results = DB::select('select * from users where id = ?', [1]);
- Sau cu inlocuitori ":nume":
$results = DB::select('select * from users where id = :id', ['id'=>1]);
Randurile returnate pot fi derulate cu o instructiune foreach():
$sql ='select * from users where id > :id';
$res = DB::select($sql, ['id'=>2]);
foreach($res as $row){
  //$row is an object with the columns name as properties
  echo $row->column_name;
}

Metoda update()

Metoda DB::update() este folosita pentru a efectua o interogare UPDATE. Returneaza numarul de randuri afectate.
$nr_afr = DB::update('update users set votes = 100 where name = ?', ['John']);
- Sau cu inlocuitori ":nume":
$nr_afr = DB::update('update users set votes = 100 where name = :name', ['name'=>'John']);

Metoda delete()

Metoda DB::delete() este folosita pentru a efectua o interogare DELETE. Returneaza numarul de randuri afectate.
$nr_afr = DB::delete('delete from users where id = ?', [2]);
- Sau cu inlocuitori ":nume":
$nr_afr = DB::delete('delete from users where id = :id', ['id'=>2]);


- Documentatie: Laravel - Database: Getting Started

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care atribut specifica metoda HTTP de trimitere (GET, POST) a datelor din formular?
action method value
<form action="script.php" method="post"> ... </form>
Ce proprietate CSS adauga umbra la chenar?
background-image box-shadow border-radius
#id {
  background-color: #bbfeda;
  box-shadow: 11px 11px 5px #7878da;
}
Clic pe functia care elimina primul element dintr-un array?
pop() push() shift()
var fruits = ["mar", "cireasa", "banana"];
fruits.shift();
alert(fruits.length);           // 2
Indicati functia cu care se poate verifica daca un anumit modul e instalat in PHP.
function() filetype() extension_loaded()
if(extension_loaded("PDO") === true) echo "PDO este valabil."
Alegeti verbul auxiliar corect care trebuie in propozitia: " ... I listen to music?".
has have Can
 Can I listen to music?
- Pot asculta muzica?
Alegeti verbul corect care trebuie in propozitia: "Me ... las frutas dulces"
están gustan gusta
Me gustan las frutas dulces.
- Imi plac fructele dulci.
Lucru cu Baza de Date MySQL in Laravel

Last accessed pages

  1. Interogatia (1154)
  2. Efecte jQuery simple de ascundere si afisare (329)
  3. Curs PHP MySQL, Tutoriale si Scripturi PHP (43554)
  4. Instructiuni conditionale if else (865)
  5. Curs HTML gratuit Tutoriale HTML5 (74563)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (637)
  2. Curs HTML gratuit Tutoriale HTML5 (538)
  3. Curs si Tutoriale JavaScript (437)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (394)
  5. Curs CSS Online Tutoriale CSS3 (372)