- 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 tag HTML5 defineste un text marcat, evidentiat?
<mark> <embed> <span>
<p>Cursuri graruite: <mark>MarPlo.net</mark> , jocuri, anime.</p>
Ce pseudo-clasa CSS defineste un stil la element cand mouse-ul e deasupra lui?
:focus :hover :active
a:hover {
  font-weight: bold;
  color: #00da01;
}
Clic pe functia ce returneaza un sir cu un numar rotunjit la x decimale.
toPrecision(x) toFixed(x) floor(x)
var num = 12.34567;
num = num.toFixed(2);
alert(num);       // 12.35
Indicati functia PHP care adauga continutul unui fisier intr-un array.
[) file() readfile()
$arr = file("a_file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
var_export($arr);
Clic pe raspunsul potrivit la intrebarea: "What time is it?"
On the 7th of July 1996 It is a quarter to 5. Nice weather.
What time is it? It is a quarter to 5.
- Cat este ora? E 5 fara un sfert.
Indicati raspunsul potrivit la intrebarea: "¿Qué hora es?"
Hace buen tiempo. En el 7 de julio de 1996 Son las tres menos cuarto.
¿Qué hora es? Son las tres menos cuarto.
- Cat este ora? E 3 fara un sfert.
Lucru cu Baza de Date MySQL in Laravel

Last accessed pages

  1. Jokes - Glume, Bancuri, Humor (2) (680)
  2. Scriere scripturi PHP elementare (1576)
  3. Conditional IF in Limba Engleza - Fraze Conditionale (20736)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (6659)
  5. Espanol Chistes - Glume, Bancuri (877)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2144)
  2. Prezentul simplu si continuu - Present Tense Simple and Continuous (1480)
  3. Cursuri si Tutoriale: Spaniola, Engleza, HTML, CSS, Php-Mysql, JavaScript, Ajax (1072)
  4. Trecutul simplu si continuu - Past Tense Simple and Continuous (1025)
  5. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (981)