发现PHP查询MYSQL,遍历结果,会出现2倍数据(数据库1行数据2列,遍历输出4列)

发现PHP查询MYSQL,遍历结果,会出现2倍数据(数据库1行数据2列,遍历输出4列),第1张

问题出在mysql_fetch_array这一步,此方法的第二个参数表示你要获取的数组的类型

MYSQL_ASSOC 关联数组,就是键名是id,name的

MYSQL_NUM 索引数组,键名是数字的

MYSQL_BOTH 以上两种都有

不给第二个参数的话,默认是MYSQL_BOTH,所以就出现了你上面的结果

这个主要就是 SQL :

1、查询指定数据库中的所有用户表:Select TABLE_NAME FROM DBTESTINFORMATION_SCHEMATABLES Where TABLE_TYPE='BASE TABLE' 数据库名为 DBTEST 可以程序指定作为参数传入,其它不变;

2、查询数据库所有表和表所包含的列:

Select dbosysobjectsname as Table_name, dbosyscolumnsname AS Column_name

FROM dbosyscolumns INNER JOIN

dbosysobjects ON dbosyscolumnsid = dbosysobjectsid

Where (dbosysobjectsxtype = 'u') AND (NOT (dbosysobjectsname LIKE 'dtproperties'))

上面两个改为存储过程,剩余的就是 数据联查 ;判断在程序完成即可实现;

PS:第二条可以找找 sysobjects和syscolumns 表字段说明的参考资料,查询你需要的字段 创建视图与你的数据进行联合查询;

do

{

while (odrRead())

{

string strYxmc=odr[0]ToString();

ResponseWrite(strYxmc);

}

}while(odrNextResult());

(1)你是在什么窗口写的该过程sqlplus窗口,某工具的sql窗口,还是某工具的命令窗口?应该是sqlplus或者某工具的命令窗口才对,sql窗口只能用来执行sql语句。

(2)set serveroutput on;设定了么?会话需要设定这个,也就是打开执行结果会话显示,如果这个没有设定,那么也是不显示的。

(3)写法本身应该没有问题,起码我没有找到。

以上就是关于发现PHP查询MYSQL,遍历结果,会出现2倍数据(数据库1行数据2列,遍历输出4列)全部的内容,包括:发现PHP查询MYSQL,遍历结果,会出现2倍数据(数据库1行数据2列,遍历输出4列)、ASP.NET遍历数据库、C# 如何遍历数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9457309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存