我在我的网络应用程序中使用了pyrocms
我想在插件中为我的模块创建库。
当我在我的数据库中将此代码用于tabel llist时。
$CI = & get_instance();
$all=$CI->db->list_tables();
我有" defualt_products" $all
数组中的值。这意味着我有" default_products"我的数据库中的表。但是当我使用下一个代码时,结果是错误的。为什么呢?
if(!$CI->db->table_exists("default_products"))
return false;
我使用的是pyrocms 2.2。
答案 0 :(得分:1)
您没有向table_exists传递任何内容。怎么知道你要检查哪个表?它需要一个参数...您要检查的表名。
http://ellislab.com/codeigniter/user-guide/database/table_data.html
所以,如果你这样做,并且存在一个名为“tablename”的表,那么你仍然会得到错误,因为如果表存在,table_exists会返回TRUE。
if ($CI->db->table_exists('tablename')
{
return FALSE;
}
答案 1 :(得分: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();
}
如果它不起作用,那么我认为你的问题不是这段代码!