现有三个端口:3310(db0,db1),3311(db2,db3),3312(db4,db5)
括号内为这个端口的数据库
现处理一个文件,把文件里的数据一行一行插入到数据库中
每一行数据对应一个表
相邻行的数据一般属于不同端口的不同数据库的不同的表
问题情况1:
.............
第一条数据为3310端口db0
第二条数据为3311端口db2
第三条数据为3310端口db1
.............
每条数据处理前均用mysql_select_db($db, $link)选择数据库,$link确定每次正确,且每个端口一个资源符号
如果mysql_select_db操作失败,则程序中输出警告提示
在mysql_query($sql)第三条数据时,提示db2的表xxx不存在!由此看来是mysql_select_db失败了,但是并没有因为mysql_select_db出错的提示
问题情况2:()
.............
第一条数据为3310端口db0
第二条数据为3310端口db1
.............
在mysql_query($sql)第二条数据时,提示db0的表xxx不存在!情况同上!
很奇怪,mysql_select_db就这么没用么?!因为在mysql_query中加上数据库连接资源参数后就没问题了
如果,每个库都有一个独自的数据库连接资源,也能解决这个问题。
但是mysql_select_db的作用就是在同一个port下选择数据库用的,是不是偶其它方面出了问题?
mysql_connect()这个函数的第4个参数你设置了没有?
by ilsanbao 2007-10-22 09:29:11你说的这个就是偶说的“如果,每个库都有一个独自的数据库连接资源,也能解决这个问题。”
偶奇怪的是mysql_select_db为什么有时不起作用,因为在这个循环里面他并不是每次都不起作用