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 e folosit pentru a adauga liste cu definitii in element <dl>?
<dt> <dd> <li>
<dl>
 <dt>HTML</dt>
  <dd> - Hyper Text Markup Language</dd>
  <dd> - Limbaj de cod pentru pagini web</dd>
</dl>
Care proprietate CSS poate sa ascunda un element in pagina, lasand spatiu gol in locul lui?
display position visibility
#id {
  visibility: hidden;
}
Indicati evenimentul declansat cand se apasa clic pe un obiect in pagina.
onclick onmouseover onfocus
document.getElementById("id").onclick = function(){
  alert("http://www.MarPlo.net/");
}
Indicati variabila PHP ce contine datele din $_GET, $_POST si $_COOKIE.
$_SESSION $_GET $_REQUEST
if(isset($_REQUEST["id"])) {
  echo $_REQUEST["id"];
}
Care din urmatoarele cuvinte reprezinta un Verb?
lighting believe path
I believe in my path.
- Eu cred in calea mea.
Care din urmatoarele cuvinte reprezinta un Verb?
creer camino iluminaciĆ³n
creer = a crede; camino = cale /drum; iluminaciĆ³n = iluminare
Verificare daca tabel exista in baza de date

Last accessed pages

  1. Instructiuni repetitive - WHILE (1832)
  2. Adverbele in limba engleza - Adverbs (12884)
  3. Adjective posesive (934)
  4. Jokes - Glume, Bancuri, Humor (3) (682)
  5. Poezii pentru copii, in engleza (7304)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2679)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (865)
  3. Gramatica limbii spaniole. Indrumator si prezentare generala (692)
  4. Alphabet and Pronunciation - Alfabetul si pronuntia in limba engleza (621)
  5. Prezentul simplu si continuu - Present Tense Simple and Continuous (600)