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 atribut face ca optiunea din <select> sa fie selectata?
checked="checked" selected="selected" disabled="disabled"
<select name="a_name">
 <option value="val1">Optiune 1</option>
 <option value="val2" selected="selected">Optiune 2</option>
</select>
Care din aceste valori CSS creaza culoare gradient pentru fundal?
contain repeat-x linear-gradient
#id {
  background: linear-gradient(top left, #1f1, #fff, #11f);
}
Care cod creaza un array in JavaScript?
[] {} new Object()
var arr = [1, "CoursesWeb.net", "MarPlo.net"];
alert(arr[2]);
Indicati functia PHP folosita pentru redirect la alta pagina.
function() header() switch()
header("Location: http://coursesweb.net/");
exit;
Indicati articolul corect la cuvantul "garden" in propozitia: "... garden is a place with flowers".
An The A
The garden is a place with flowers.
- Gradina este un loc cu flori.
Indicati articolul corect pentru cuvantul: "jardín" (gradina)
la los el
El jardín es un lugar de flores.
- Gradina e un loc cu flori.
Verificare daca tabel exista in baza de date

Last accessed pages

  1. Proverbe, expresii si zicatori (25119)
  2. Gramatica limbii spaniole. Indrumator si prezentare generala (70921)
  3. Curs si Tutoriale JavaScript (135065)
  4. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (279225)
  5. Subjunctiv - Verbe neregulate (2155)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (18)
  2. Gramatica limbii spaniole. Indrumator si prezentare generala (16)
  3. Accentul si Pronuntia (14)
  4. Gramatica limbii engleze - Prezentare Generala (13)
  5. Proverbe, expresii si zicatori (10)