Another way to check if a table exists:
if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$table."'"))==1) echo "Table exists";
else echo "Table does not exist";
(PHP 4, PHP 5)
mysql_tablename — 필드가 존재하는 테이블명을 반환
$result
, int $i
)
result
로부터 테이블명을 반환한다.
이 함수는 사용이 권장되지 않는다. 대신, SHOW TABLES [FROM db_name] [LIKE 'pattern'] SQL을 mysql_query()로 실행하도록 권장한다.
성공하면 테이블명을, 실패하면 FALSE
를 반환한다.
결과 포인터를 탐색하기 위해 mysql_tablename()를 사용하거나, mysql_fetch_array()와 같은 결과 테이블을 위한 특정 함수를 사용한다.
Example #1 mysql_tablename() 예제
<?php
mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_list_tables("mydb");
$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
echo "Table: ", mysql_tablename($result, $i), "\n";
}
mysql_free_result($result);
?>
Note:
mysql_num_rows()는 결과 포인터에서 테이블의 개수를 가져오기 위해 사용된다.
Another way to check if a table exists:
if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$table."'"))==1) echo "Table exists";
else echo "Table does not exist";
A simple function to check for the existance of a table:
function TableExists($tablename, $db) {
// Get a list of tables contained within the database.
$result = mysql_list_tables($db);
$rcount = mysql_num_rows($result);
// Check each in list for a match.
for ($i=0;$i<$rcount;$i++) {
if (mysql_tablename($result, $i)==$tablename) return true;
}
return false;
}