用 mysql_field_type($result, $i) 得到的是 string, 那我区分
char , varchar
int, mediumint
等类型呢用phpmyadmin是可以自动备份出来这样的自己用php怎么得到呢

解决方案 »

  1.   

    string是你的PHP里的数据类型。转换到MYSQL里面是CHAR,VARCHAR等字符串类型。
    不同的开发工具对类型的名称不一样。
      

  2.   

    string是你的PHP里的数据类型。转换到MYSQL里面是CHAR,VARCHAR等字符串类型。
    不同的开发工具对类型的名称不一样。
      

  3.   

    string是你的PHP里的数据类型。转换到MYSQL里面是CHAR,VARCHAR等字符串类型。
    不同的开发工具对类型的名称不一样。
      

  4.   

     mysql_field_type($result, $i) 得到的是 string, :
    是你的语言环境中等到的吧
      

  5.   

    你这是在PHP中进行备份的操作。通过PHP你的数据类型显然会对进行转换。你需要在PHP中不是通过 mysql_field_type($result, $i) ,而是应该去访问系统表去得到表的字段结构。
    或者直接执行 desc tablename 来得到一个结果集如下。mysql> desc pro;
    +---------+---------+------+-----+---------+-------+
    | Field   | Type    | Null | Key | Default | Extra |
    +---------+---------+------+-----+---------+-------+
    | product | int(11) | YES  |     | NULL    |       |
    | price   | int(11) | YES  |     | NULL    |       |
    | time    | date    | YES  |     | NULL    |       |
    +---------+---------+------+-----+---------+-------+
    3 rows in set (0.07 sec)mysql>
      

  6.   

    像这样说来php中不可以区分varchar, char等字段了,  
    那么phpmyadmin的导出怎么区分的呢, 他也是用php写的
      

  7.   

    它是用PHP读的系统表!不是直接通过mysql_field_type($result, $i)这种方式。
      

  8.   

    那为什么大家不用php读系统表去备份, 
    都教我们用mysql_field_type($result, $i) 方式去备份, 
    这不是在误导别人么请问怎么读, 有推荐的教程或者介绍什么的吗?
      

  9.   

    我找了不少资料, 终于发现, 原来这个好像很简单啊 $sql = mysql_query("SHOW CREATE TABLE $table");
    $create = mysql_fetch_row($sql);echo($create[1]);这就出来, 想要什么格式啊, 直接可以用正则搞定
    我搞不懂, 为什么那么多教程要教人们用mysql_field_type($result, $i)方法来做,而且还得不到很全的结构
      

  10.   

    你好, 不是教材, 是google上的, 一大堆$sql = mysql_query("SHOW DATABASES");
    $create = mysql_fetch_row($sql);
    print_r($create);这个只可以得到第一个数据库的名字, 在cmd下可以得到所有的数据库名字啊, 把人都给搞晕了, 同样的功能, 同样的数据库, 在php中和cmd 下还要不一样的实行方法 
    不知道设计的人怎么想的
      

  11.   

    搞懂了 ,
    $sql = mysql_query("SHOW DATABASES");
    $create = mysql_fetch_row($sql);
    可以得到所有的表名, 他也是和取数据一样, 每运行一次, 指针向下移动一次所有要循环才行