问题出在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# 如何遍历数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)