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 TABLESSAU:
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.
<?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:
SHOW TABLES IN `numebazadate` WHERE `Tables_in_numebazadate` = 'nume_tabel'
<?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(); ?>
// 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:
<?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'; ?>
<input type="number" name="points" min="5" max="80" />
#id { filter:alpha(opacity=40); /* for IE */ opacity:0.4; }
var num = 12.84567; alert( num.toPrecision(3) ); // 12.8
$lang =[10=>"PHP", 20=>"JavaScript", "site"=>"coursesweb.net"); shuffle($lang); var_export($lang); // array (0=>"coursesweb.net", 1=>"PHP", 2=>"JavaScript")
She is the best in our class. - Ea este cea mai buna din clasa noastra.
Él es el mejor en nuestra clase. - El este cel mai bun din clasa noastra.