重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在下写的转 用户的 程序,发出来给你参考下吧! 悬赏才5分,真吝啬!
创新互联建站2013年开创至今,先为克州等服务建站,克州等地企业,进行企业商务咨询服务。为克州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
$next = intval($_GET['start']);
if ($next == NULL)
{
$next = 0;
}
$x = new Mysql($conf['xoops']);
$u = new Mysql($conf['ucenter']);
$start = $num*$next;
$m = $num*($next+1);
echo 'p/pfont color="red"开始转换:第bfont color="blue"'.($start+1).'/font/b到bfont color="blue"'.$m.'/font/bbr/fonthr style="width:20%;" align="left" /';
//从xoops中提取数据
$sql = "SELECT `uid`,`uname`,`email`,`pass`,`user_regdate` FROM `{$xoops['prefix']}users` ORDER BY `uid` ASC LIMIT {$start},{$num}";
$rs = $x-oneRow($sql);
if(empty($rs)){
echo 'p/pfont color="blue"全部转换完毕/font';
die();
}
$result = $x-query($sql);
while ($x_data = mysql_fetch_array($result,MYSQL_ASSOC)){
$user = $x_data;
//从ucenter中读取数据
$sql = "SELECT `uid` FROM `".$ucenter['prefix']."members` WHERE `uid` = '".$user['uid']."' LIMIT 1";
$u_data = $u-oneRow($sql);
if(!empty($u_data)){
@$time_log = file_get_contents('uid_err_log.txt');
$time_log.="\r\n".'------------------------------------';
$time_log.="\r\n".'UID为'.$user['uid'].'的用户'.$user['uname'].'在Ucente中已经存在这个uid,可能已经转换过了。';
$time_log.="\r\n".'SQL语句:'.$sql;
$time_log.="\r\n".'------------------------------------';
@file_put_contents('uid_err_log.txt',$time_log);
}else{
$sql = "SELECT `uid` FROM `".$ucenter['prefix']."members` WHERE `username` = '".$user['uname']."' LIMIT 1";
$u_data = $u-oneRow($sql);
if (!empty($u_data)) {
echo 'br'.$user['uname'].'已经在Ucenter中存在了!/b';
@$time_log = file_get_contents('uid_err_log.txt');
$time_log.="\r\n".'------------------------------------';
$time_log.="\r\n".'UID为'.$user['uid'].',用户名为'.$user['uname'].'的用户在xoops中已经存在这个用户名,可能已经转换过了。';
$time_log.="\r\n".'SQL语句:'.$sql;
$time_log.="\r\n".'------------------------------------';
@file_put_contents('uid_err_log.txt',$time_log);
}
}
//向Ucenter中插入用户
$salt = substr(uniqid(rand()), -6);
$password = md5($user['pass'].$salt);
$sql = "INSERT INTO `".$ucenter['database']."`.`".$ucenter['prefix']."members` (`uid` ,`username` ,`password` ,`email` ,`myid` ,`myidkey` ,`regip` ,`regdate` ,`lastloginip` ,`lastlogintime` ,`salt` )
VALUES ('".$user['uid']."' , '".$user['uname']."', '".$password."', '".$user['email']."', '', '', '', '".$user['user_regdate']."', '0', '0', '".$salt."')";
if(!$u-query($sql)){
@$time_log = file_get_contents('insert_err_log.txt');
$time_log.="\r\n".'------------------------------------';
$time_log.="\r\n".'Ucenter插入新用户错误';
$time_log.="\r\n".'SQL语句:'.$sql;
$time_log.="\r\n".'------------------------------------';
@file_put_contents('insert_err_log.txt',$time_log);
}
continue;
}
$next+=1;
echo 'meta http-equiv="Refresh" content="2; url=x2u.php?start='.$next.'" /';
exit();
?
如果是mysql里面两个不同的数据库,应该是可以直接使用 [数据库名称].[表名]来关联的。TP指定的数据库,是因为他要缓存这个数据库的表字段等。
试试看行不行,我测试通过: SELECT a.*,b.* FROM table1 a LEFT JOIN db2.table2 b ON a.id=b.id
while ($row = mysql_fetch_assoc($result)) {
$nbh = $row['code'];
$mc = $row['address'];
echo "br /";
}
认真看代码了吗?上面几行代码有没有看出什么问题?
明显是只获取列的值到变量但没有输出变量的值....
正确改为:
while ($row = mysql_fetch_assoc($result)) {
$nbh = $row['code'];
$mc = $row['address'];
echo "区号:" . $nbh . " 地址:" . $mc . "br /";
}
你说的是数据库,还是数据表啊。
如果是数据表的话,可以用连接查询。
select a.id,a.username,b.id as bid b.title from 表A a left join 表B b on a.id=b.id
这样就可以了,如果是两个数据库,那就比较麻烦,要创建两个连接对象。再分别打开两个表。再操作。
使用程序无法实现这种功能,因为无法保证事务的一致性,比如:A数据库中的a表复制到B数据库中的a表的过程中,A数据库中的a表的一条记录被删除,这样就无法实现数据的一致性!正确的做法是使用MySQL复制的功能!很简单,只需要几步配置即可!
1)首先你会不会修改一个数据,是真正明白操作的修改?
2)针对两个数据库各建一个连接,$link1和$link2,然后对后面操作数据库的操作复制一份,采用不同的连接做输入参数,这样就能同时修改两个数据库了。