关于通过php获取mysql表里的字段名的方法的整理
来源:互联网 发布:linux top nic 编辑:程序博客网 时间:2024/05/24 00:05
如果你想获取数据库表,字段等元素的信息(一个数据库里所有表的名字或者一个表的字段名字,字段类型等),而还没有很好的方法就请看下面的文章。
可能你在百度,google上也搜索了很久,但却没能具体详细的指出其具体步骤让你未能如愿。
通过分析网友们的方法,取众家之长之后,我觉得应该是这样的:
方法一:利用sql语句实现。
- 利用这个方法,首先你得细分数据库的类型,比如sql server,mysql,oracle等,对于不同的数据库,sql语句也是不一样的。可以参考:http://wenku.baidu.com/view/a12b32bc960590c69ec3760d.html,例如mysql的有desc tablename;show columns from table等。
- 找到相应的语句之后,我们现在就可以用sql执行语句执行它了,但还要注意到底是用php的mysql还是mysqli连接mysql数据库的,因为这两种连接类型的语句和获取数据,处理数据的php语句也不一样,要注意匹配。不能从网上照搬,自己要多分析。可以参考http://www.docin.com/p-222996612.html,看看普通mysql与mysqli的区别,及后者的使用方法。一下是我的一段代码:
//连接数据库,使用的是mysqli$conn=new mysqli('localhost', 'user', 'password', 'database');//设定字符集,处理中文乱码用的,可以不用管它,我特定用的$conn->set_charset("utf8");//sql语句执行$result=$conn->query("show columns from tablename");//有四种方法获取结果的当前行数据,分别是fetch_row(),fetch_assco(),fetch_array(),fetch_object()区别分别是返回的数据的类型不同,依次分别是索引数组(即索引是数字0,1,2等),关联数组(即索引是具体的真实的键等),兼前二者,对象。返回的数据则处理数据的方法也不同。我用的是fetch_assco(),使用键值对的格式。还要注意键是区分大小写的,这也是很多网友用fetch_assoc(),却不能返回正确结果的原因。while($row = $result->fetch_assoc()) { echo "<br>"; foreach ($row as $k=>$v) echo $k."=>".$v."<br>"; echo "-------------------";}//你可以换成一下代码试试“键”的值是不是区分大小写。while($row = $result->fetch_assoc()) { echo "<br>".$row['field']; echo "<br>".$row['Field']; }
我们已经知道了利用sql语句去查看的方法。
方法二:如果你使用的是mysql面向过程的函数去连接数据库而不是利用mysqli的面向对象去连接的,则你就有以下最为方便的方法了。为什么面向对象却没有这样的方法呢?这个你看看mysqli的几个类里的方法和属性就知道了,因为类里面还没有定义这样的方法。这个还是需要高手自己添加方法的,那就厉害了。
例如:
mysql_fetch_field()//从结果集中取得列信息并作为对象返回
mysql_field_name() //取得结果中指定字段的字段名
mysql_list_fields()//列出 MySQL 结果中的字段
可以在网上查到很多。以上是自己的一点看法,希望能给大家带去帮助,望共勉。
QQ:165392826;http://www.webyzl.com
- 关于通过php获取mysql表里的字段名的方法的整理
- mysql 查询某个表里的所有字段名
- PHP统计mysql数据表里制定字段内容的总数
- 查询表里面的字段名、字段类型及含义
- MySQL 查询表里面的所有字段
- MySql 获取表的字段名
- MySql 获取表的字段名
- mysql获取表的所有字段名
- MySql 获取表的字段名
- mysql查询表里的重复数据方法:
- mysql查询表里的重复数据方法:
- mysql查询表里的重复数据方法:
- 获取SQLSERVER一张表里面的常用字段信息
- MySQL数据库通过字段名来搜索相应的表
- 数据库中,如何通过表名获取表的字段名(属性名)?
- 获取表的字段名
- 获取表格的字段名
- C#获取MySQL数据库中的所有的表名和字段名及字段的数据类型
- python,mysql,MySQLDb支持中文(utf-8编码)
- WinCE EBOOT中的BootPart分析 基于WinCE6.0
- 字符串和指针
- QQ验证码识别源代码(DOT NET1.1)
- Android 语音识别学习小记--暑期大学生博客分享大赛 - 2011 Android 成长篇
- 关于通过php获取mysql表里的字段名的方法的整理
- design的根本原因
- 802.1x认证的具体配置过程
- gcc对C语言扩展
- Flex实现页面跳转的功能可用性分析
- Linux下另类内存缓冲池设计(CBufferPool)
- asmlinkage
- QT牛刀小试(2)——如何更改程序的图标
- 开博客宣言