verificar validar usuario saber registro hacer existe datos comprobar antes php mysql exists

php - validar - Compruebe si la tabla MySQL existe o no



verificar si email existe php mysql (7)

Posible duplicado:
MySQL comprueba si existe una tabla sin arrojar una excepción

Tengo un generador dinámico de consultas mysql en mi proyecto que crea consultas selectivas de diferentes tablas.
Necesito verificar si la tabla de procesamiento actual existe o no.
Imagine que mis tablas son table1, table2 y table3. Mi código es algo como esto:

<?php for($i = 1 ; $i <= 3 ; $i++) { $this_table = ''table''.$i; $query = mysql_query("SELECT * FROM $this_table"); // ... } ?>

¿Cómo puedo hacer este control? (Por favor, dígame la forma más sencilla).


Forma de MySQL:

SHOW TABLES LIKE ''pattern'';

También hay una función de PHP en desuso para listar todas las tablas de db, eche un vistazo a http://php.net/manual/en/function.mysql-list-tables.php

Revisa ese enlace, hay una gran cantidad de información útil sobre los comentarios allí.


Puedes intentar esto

$query = mysql_query("SELECT * FROM $this_table") or die (mysql_error());

o esto

$query = mysql_query("SELECT * FROM $this_table") or die ("Table does not exists!");

o esto

$query = mysql_query("SELECT * FROM $this_table"); if(!$query) echo "The ".$this_table." does not exists";

¡Espero eso ayude!


Tomado de otra publicación

$checktable = mysql_query("SHOW TABLES LIKE ''$this_table''"); $table_exists = mysql_num_rows($checktable) > 0;


Use esta consulta y luego verifique los resultados.

$query = ''show tables like "test1"'';


Versión actualizada de mysqli:

if ($result = $mysqli->query("SHOW TABLES LIKE ''".$table."''")) { if($result->num_rows == 1) { echo "Table exists"; } } else { echo "Table does not exist"; }

Versión original de mysql:

if(mysql_num_rows(mysql_query("SHOW TABLES LIKE ''".$table."''"))==1) echo "Table exists"; else echo "Table does not exist";

Referenciado desde los documentos de PHP .


$query = mysqli_query(''SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME IN ("table1","table2","table3") AND TABLE_SCHEMA="yourschema"''); $tablesExists = array(); while( null!==($row=mysqli_fetch_row($query)) ){ $tablesExists[] = $row[0]; }


$result = mysql_query("SHOW TABLES FROM $dbname"); while($row = mysql_fetch_row($result)) { $arr[] = $row[0]; } if(in_array($table,$arr)) { echo ''Table exists''; }