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 se foloseste in <table> pentru a crea celula de tip "header"?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Ce proprietate CSS seteaza distanta dintre randuri?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Care functie deschide o noua fereastra.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicati functia PHP care returneaza un array cu numele fisierelor si directoarelor dintr-un director.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
Care din urmatoarele forme a verbului "sleep" (a dormi) se foloseste pentru viitor?
sleeping slept will sleep
He will sleep there.
- El va dormi acolo.
Care din urmatoarele forme a verbului "dormir" (a dormi) se foloseste pentru viitor?
dormido dormirá durmiendo
Él dormirá allí.
- El va dormi acolo.
Verificare daca tabel exista in baza de date

Last accessed pages

  1. Verbe modale - SHALL, SHOULD, OUGHT TO, WILL, WOULD, USED TO, BE TO, DARE (33284)
  2. Subtantive - Plural (5964)
  3. Aliniere DIV-uri pe aceeasi linie (5153)
  4. Curs si Tutoriale Ajax (106193)
  5. Tag-urile iframe si object (3818)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (695)
  2. Coduri pt culori (311)
  3. Exercitii engleza - English Tests and exercises - Grammar (306)
  4. Gramatica limbii engleze - Prezentare Generala (298)
  5. Cursuri limba engleza gratuite si lectii online (278)