从数据库中选择并插入到不同的数据库在PHP-MySQL
问题描述:
我必须从数据库中的表中选择数据,并将它们插入另一个数据库中的其他数据库中,但它不工作。请您纠正代码并让我知道你的回应?从数据库中选择并插入到不同的数据库在PHP-MySQL
<?php
$log1 = "taxicom";
$pwd1 = "************";
$db1 = "ussd";
global $mysqli1;
$log2 = "Taxicom";
$pwd2 = "******";
$db2 = "suitecrm";
global $mysqli2;
$mysqli1 = mysqli_connect("localhost", $log1, $pwd1, $db1);
$mysqli2 = mysqli_connect("localhost", $log2, $pwd2, $db2);
$quer = mysqli_query($mysqli1 ,"SELECT DISTINCT numdest,id,operateur,mont_pay FROM rapport GROUP BY numdest ORDER BY id ");
while ($data = mysql_fetch_object($quer)){
$variable1 = $data['numdest'];
$variable2 = $data['id'];
$variable3 = $data['operateur'];
$variable4 = $data['mont_pay'];
$quer2=mysqli_query($mysqli2,"INSERT INTO prospects (id_client_source,num_tel_dest,operateur,montant) VALUES(' $variable2',' $variable1',' $variable3',' $variable4')");
if($quer){
echo"Inséré <br>";
}else{
echo "non inséré <br>";
}}
var_dump($quer2);
set_time_limit(500);
?>
答
你也许可以做到在一个单一的查询操作通过与像相关的数据库名称前缀表:
insert into `suitecrm`.`prospects` (
`id_client_source`,
`num_tel_dest`,
`operateur`,
`montant`
)
select distinct `id`, `numdest`, `operateur`, `mont_pay`
from `ussd`.`rapport`
group by numdest
order by id;
答
随着我的SQL,您可以使用单个查询做到这一点
"INSERT INTO database1.prospects (id_client_source,num_tel_dest,operateur,montant)
SELECT DISTINCT id, numdest,operateur,mont_pay
FROM database2.rapport;"
而且您不使用聚合函数,因此您不需要使用子句组012条款 此外,您也使用disctint。 和订购一个一个插入我无用,所以你可以通过条款
省略顺序如果您的用户$ LOG2有选择从DB1您可以使用一个mysqli_query
$quer2=mysqli_query($mysqli2,
"INSERT INTO database1.prospects (id_client_source,num_tel_dest,operateur,montant)
SELECT DISTINCT id, numdest,operateur,mont_pay
FROM database2.rapport;");
如果用户有正确的不正确的
尝试使用msqli_fetch_object和,而循环中,测试quer2 $不是QUER,如果不是在错误
while ($data = mysqli_fetch_object($quer)){
$variable1 = $data['numdest'];
$variable2 = $data['id'];
$variable3 = $data['operateur'];
$variable4 = $data['mont_pay'];
$quer2 = mysqli_query($mysqli2,"INSERT INTO prospects (id_client_source,num_tel_dest,operateur,montant) VALUES(' $variable2',' $variable1',' $variable3',' $variable4')");
if($quer2){
echo"Inséré <br>";
}else{
echo "non inséré <br>";
die(mysqli_error($mysqli2));
}
}
var_dump($quer2);
set_time_limit(500);
插入看看你能在“不工作”,错误,没有插入的数据扩展。 ..? – Chris
是的,数据未被插入。 – saida
在你的while循环中,使用$ data = mysqli_fetch_object($ quer)而不是$ data = mysql_fetch_object($ quer)。 – Martijn