仅供参考:我曾尝试使用已发布的其他解决方案来解决此查询,但尚未取得任何成功。我决定使用下面的代码,因为完成我的任务似乎是最合乎逻辑的。然而,如果有一个完全不同的解决方案,那很好 - 只要它有效。MySql - 从一个数据库更新到另一个数据库
在同一台服务器中,有两个数据库具有相同的字段名称。
两个DBS:
ID,
用户,
残疾人士,
电子邮件
我想抓住从DB#2(正确的残疾人士)的所有密码,并将它们移到DB#1(不正确pwds)根据每个用户的电子邮件地址。不幸的是,我不能使用ID,因为它们对于每个数据库的每个用户都是不同的。
下面的代码不起作用。我没有收到任何错误 - 只是没有进行更新。
此外,我意识到这种类型的编码已被弃用。如果任何人有使用新语法的解决方案,那就太好了。
<?php
$dbhost1="localhost";
$dbname1="aaaaaa";
$dbuser1="bbbbbb";
$dbpass1="cccccc";
$dbhost2="localhost";
$dbname2="dddddd";
$dbuser2="eeeeee";
$dbpass2="ffffff";
$conn1 = mysql_connect($dbhost1, $dbuser1, $dbpass1);
$conn2 = mysql_connect($dbhost2, $dbuser2, $dbpass2, true);
if(! $conn1 || ! $conn2)
{
die('Could not connect to db1 or db2: ' . mysql_error());
}
mysql_select_db('db1', $conn1);
mysql_select_db('db2', $conn2);
$query = "UPDATE db1.users as t1, db2.users as t2 SET t1.pwds = t2.pwds WHERE t1.emails = t2.emails";
// LINE BELOW ADDED AFTER COMMENTS POSTED:
mysql_query($query, $conn1);
mysql_close($conn1);
mysql_close($conn2);
?>
您没有运行查询。 – 2014-08-28 11:27:48
即使在你的情况下你不使用任何用户输入,mysql_函数也是不安全的。首选使用mysqli_函数或pdo – Logar 2014-08-28 11:53:42
回显$查询,看看是否有任何问题,或使用error_reporting(E_ALL)来检查错误,这将给更好的idea.as @Loger说使用pdo或PHP扩展mysqli。 – 2014-08-28 11:55:25