Curs Php-mysql

In acest tutorial puteti invata cum sa verificati cu PHP daca unul sau mai multe tabele exista intr-o baza de date MySQL.
Comanda SQL ce returneaza o lista cu toate tabelele dintr-o baza de date este aceasta:

SHOW TABLES
SAU:
SHOW TABLES IN `nume_bazadate`
- Rezultatul returnat de aceasta interogare e retinut intr-un alias cu numele Tables_in_numebazadate ; numebazadate este numele bazei de date in care se face verificarea.

De exemplu, daca avem o baza de date MySQL denumita "tests", cu aceste tabele: users, temp, si online; se poate folosi urmatorul cod in PHP ca sa obtinem o lista cu numele tabelelor:
<?php
// conectare la baza de date tests
$conn = new mysqli('localhost', 'root', 'pass', 'tests');

// verificare conexiune
if (mysqli_connect_errno()) {
  exit('Connect failed: '. mysqli_connect_error());
}

// SQL query
$sql = "SHOW TABLES IN `tests`";

// executa interogarea si retine rezultatul
$result = $conn->query($sql);

// daca $result nu e False si contine cel putin un rand
if($result !== false) {
  // daca e cel putin un tabel in result
  if($result->num_rows > 0) {
    // parcurge datele si returneaza numele fiecarui tabel
    while($row = $result->fetch_assoc()) {
      echo '<br />'. $row['Tables_in_tests'];
    }
  }
  else echo 'Nu exista tabele in "tests"';
}
else echo 'Baza de date "tests" nu poate fi verificata, eroare - '. $conn->error;

$conn->close();
?>
Acest cod va returna urmatorul rezultat:
users
temp
online

Daca vreti sa verificati daca un anumit tabel exista in baza de date MySQL, se poate folosi urmatoarea interogare SQL:
SHOW TABLES IN `numebazadate` WHERE `Tables_in_numebazadate` = 'nume_tabel'

- De exemplu, ca sa testati daca tabelul "users" exista in baza de date "tests", se poate folosi urmatorul cod in PHP:
<?php
// conectare la baza de date tests
$conn = new mysqli('localhost', 'root', 'pass', 'tests');

// verificare conexiune
if (mysqli_connect_errno()) {
  exit('Connect failed: '. mysqli_connect_error());
}

// SQL query
$sql = "SHOW TABLES IN `tests` WHERE `Tables_in_tests` = 'users'"; 

// executa interogarea si retine rezultatul
$result = $conn->query($sql);

// daca $result nu e False si contine cel putin un rand
if($result !== false) {
  // daca $result contine cel putin un rand tabelul exista, altfel, nu exista
  if ($result->num_rows > 0) echo 'Tabelul "users" exista';
  else echo 'Tabelul "users" Nu exista';
}
else echo 'Baza de date "tests" nu poate fi verificata, eroare'. $conn->error;

$conn->close();
?>

Functie pentru testare daca tabelele exista in MySQL

Urmatoarea functie poate fi utilizata in PHP pt. a vedea daca un anumit tabel, sau mai multe, exista in MySQL.
// verifica daca tabelele din $tables exista in $db
function tableExist($conn, $db, $tables) {
  $eror = false;

  // daca $ables e sir, il transformna in Array
  if(is_string($tables)) $tables = array($tables);

  $result=$conn->query("SHOW TABLES IN `$db`");
  if($result !== false) {
    // daca e cel putin un tabel in $result
    if($result->num_rows > 0) {
      // parcurge $result si retine datele intr-un array
      while($row = $result->fetch_assoc()) {
        $tables_db[] = $row['Tables_in_'.$db];
      }

      // verifica daca fiecare tabel din $tables este in $tables_db, altfel seteaza eroare
      for($i=0; $i<count($tables); $i++) {
        if(!in_array($tables[$i], $tables_db)) $eror[] = 'Tabelul '. $tables[$i]. ' Nu exista in "'. $db. '"';
      }
    }
    else $eror[] = 'Nici un tabel in "'. $db. '"';
  }
  else $eror[] = 'Nu se poate verifica "'. $db. '"';

  // daca $eror nu e false, afiseaza erorile si returneaza false, altfel, returneaza true
  if($eror !== false) {
    echo implode('<br/>', $eror);
    return false;
  }
  else return true;
}
Functia tableExist() primeste trei argumente:
- $conn - obiect ce contine conexiunea la MySQL.
- $db - reprezinta numele bazei de date.
- $tables - poate fi un sir cu numele unui tabel, sau un Array cu mai multe nume de tabele.

• Exemplu, verificare daca tabelele: "comments", "temp", si "users" exista in baza de date "tests".
<?php
// Cursuri gratuite - marplo.net

// verifica daca tabelele din $tables exista in $db
function tableExist($conn, $db, $tables) {
  $eror = false;

  // daca $ables e sir, il transformna in Array
  if(is_string($tables)) $tables = array($tables);

  $result=$conn->query("SHOW TABLES IN `$db`");
  if($result !== false) {
    // daca e cel putin un tabel in $result
    if($result->num_rows > 0) {
      // parcurge $result si retine datele intr-un array
      while($row = $result->fetch_assoc()) {
        $tables_db[] = $row['Tables_in_'.$db];
      }

      // verifica daca fiecare tabel din $tables este in $tables_db, altfel seteaza eroare
      for($i=0; $i<count($tables); $i++) {
        if(!in_array($tables[$i], $tables_db)) $eror[] = 'Table '. $tables[$i]. ' Not exist in "'. $db. '"';
      }
    }
    else $eror[] = 'Nici un tabel in "'. $db. '"';
  }
  else $eror[] = 'Nu se poate verifica "'. $db. '"';

  // daca $eror nu e false, afiseaza erorile si returneaza false, altfel, returneaza true
  if($eror !== false) {
    echo implode('<br/>', $eror);
    return false;
  }
  else return true;
}

$db = 'tests';
// conectare la baza de date tests
$conn = new mysqli('localhost', 'root', 'pass', $db);

// verificare conexiune
if (mysqli_connect_errno()) {
  exit('Connect failed: '. mysqli_connect_error());
}

// array cu numele tabelelor
$tables = array('comments', 'temp', 'users');

// apeleaza functia tableExist()
if(tableExist($conn, $db, $tables)) echo 'Toate tabelele: <i>'. implode(', ', $tables). '</i> exista';
?>

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.
Verificare daca tabel exista in baza de date

Last accessed pages

  1. Trecut perfect si Trecutul perfect continuu - Past perfect and Continuous (58123)
  2. Trecut nedefinit vs Imperfect (3910)
  3. Caractere speciale - Entitati HTML (14380)
  4. Pronumele personal (9279)
  5. Subjunctiv - Introducere (6054)

Popular pages this month

  1. Curs HTML gratuit Tutoriale HTML5 (750)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (693)
  3. Coduri pt culori (554)
  4. Creare si editare pagini HTML (249)
  5. Formatare text in pagina html (229)