0

Web アプリケーションに pyrocms を使用しています。
アドオンでモジュールのライブラリを作成したい。
データベースのテーブルリストにこのコードを使用すると。

$CI = & get_instance();
$all=$CI->db->list_tables();

配列に「defualt_products」値があり$allます。これは、データベースに「default_products」テーブルがあることを意味します。しかし、次のコードを使用すると、結果は false になります。なぜ?

if(!$CI->db->table_exists("default_products"))
    return false;

私は pyrocms 2.2 を使用しています。

4

2 に答える 2

1

table_exists には何も渡していません。チェックしようとしているテーブルをどのように知ることができますか? 1 つのパラメーターをとります...チェックしているテーブル名です。

http://ellislab.com/codeigniter/user-guide/database/table_data.html

したがって、これを行い、「tablename」というテーブルが存在した場合でも、テーブルが存在する場合、table_exists が TRUE を返すため、false になります。

if ($CI->db->table_exists('tablename')
{
return FALSE;
}
于 2013-10-18T20:22:27.807 に答える
1

メソッドを使用して、構成ファイルdbprefixからテーブルプレフィックスを含めることができます。database.php

if ( !$CI->db->table_exists($CI->db->dbprefix('products')) ){
   //there is no such table, products
   echo "there is no table named ".$CI->db->dbprefix('products');
   die();
}else{
   //table found
   echo "table found"; die();
}

うまくいかない場合、あなたの問題はこのコードではないと思います!

于 2013-10-20T10:52:55.127 に答える