Curs Php-mysql

- 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
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.
Lucru cu Baza de Date MySQL in Laravel

Last accessed pages

  1. Creare documente PDF cu PHP si FPDF (1331)
  2. Articolul din limba engleza - The article (70521)
  3. Teste Trivia Engleza (3347)
  4. Joc Exersare Engleza - Afla Cuvantul (3625)
  5. Exercitii engleza - English Tests and exercises - Grammar (116708)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (353)
  2. Curs HTML gratuit Tutoriale HTML5 (258)
  3. Coduri pt culori (208)
  4. Gramatica limbii engleze - Prezentare Generala (159)
  5. Creare si editare pagini HTML (145)