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 — フィールドのテーブル名を得る
この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 を参照ください。 この関数の代替として、これらが使えます。
SHOW TABLES
result
からテーブル名を取得します。
この関数は非推奨です。かわりに
mysql_query() を利用して SHOW TABLES
[FROM db_name] [LIKE 'pattern']
文を発行することを推奨します。
成功した場合にテーブル名、失敗した場合に false
を返します。
結果ポインタの中身を調べるために mysql_tablename() 関数を利用し、取得したテーブルを 利用するには mysql_fetch_array() などの関数を 利用してください。
例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);
?>
注意:
結果ポインタに含まれるテーブル数を調べるには 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;
}