USER_TAB_COLUMNS不存在

时间:2014-05-01 19:06:30

标签: php mysql sql phpmyadmin

我正在尝试创建一个动态形式的输入来注册用户,所以我需要选择我在users表中的列,例如(用户名 - 电子邮件 - 密码-...等)所以我得到了这个来自这里的一些问题的代码

$query = " SELECT table_name, column_name, data_type, data_length ";
$query.=" FROM USER_TAB_COLUMNS ";
$query.=" WHERE table_name = 'user_type' ";
$result= mysqli_query($db, $query)

if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
    print_r($row);
} //end while
  } //end if

然后如果我在php中应用这个我得到这个

  

mysql_num_rows()期望参数1是资源,在

中给出布尔值

这意味着select语句可能无效。 但当我将它应用于phpmyadmin sql时,它给了我这个错误

  

表'final_main.user_tab_columns'不存在

告诉我我的数据库中没有这个表

所以可以帮助我,谢谢。

1 个答案:

答案 0 :(得分:0)

MySQL在 information_schema 数据库中提供架构信息。

USER_TAB_COLUMNS是特定于Oracle的视图;在MySQL中不存在。)

要获取有关特定MySQL表中列的信息,请使用以下内容:

SELECT c.column_name
     , c.column_type
     , c.data_type
     , c.character_maximum_length
     , c.numeric_precision
     , c.numeric_scale
  FROM information_schema.columns c
 WHERE c.table_name    = 'user_type'    -- table name
   AND c.table_schema  = 'final_main'   -- database name
 ORDER BY c.ordinal_position;