Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Mysqli从不同的数据库中选择、插入和更新_Php_Mysql_Select_Mysqli_Insert - Fatal编程技术网

PHP Mysqli从不同的数据库中选择、插入和更新

PHP Mysqli从不同的数据库中选择、插入和更新,php,mysql,select,mysqli,insert,Php,Mysql,Select,Mysqli,Insert,我试图从一个DB中选择值。并将结果插入并更新到另一个。这是需要每天运行的cronjob,以便将一些数据从一个数据库复制到另一个数据库。我知道我缺少正确的步骤/语法,但我希望有人能帮助我 <?php $con_1=mysqli_connect("host","user","pw","db"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQ

我试图从一个DB中选择值。并将结果插入并更新到另一个。这是需要每天运行的cronjob,以便将一些数据从一个数据库复制到另一个数据库。我知道我缺少正确的步骤/语法,但我希望有人能帮助我

<?php

    $con_1=mysqli_connect("host","user","pw","db");
    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    $con_2=mysqli_connect("host","user","pw","db");
    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $result = mysqli_query($con_1,"SELECT id, name FROM table GROUP BY 1,2");

    $mysqli->query($con_2, "INSERT INTO `table2`(`id`, `name`) VALUES ('".$result[1]."', ".$result[2].") 
    ON DUPLICATE KEY UPDATE name = ".$result[2]."");

    }

    mysqli_close($con_1);
    mysqli_close($con_2);
    ?>

mysqli\u query
返回一个查询对象,使用
$result[1]
没有意义,您需要在循环中获取行:

while($row = $result->fetch_assoc()) {
  // insert result in second database
}

对于其他访问方法,请检查。

看起来您正在执行SQL,但没有检查是否成功。在获得
$result
后添加此项。检查PHP文档,查看出现错误时
mysqli\u query
返回的内容(我相信它将是
false
)。有关更多信息,请使用try-catch with-transactionssafe@JurienGroot从评论中很难看出,你可能应该问另一个问题,更好地解释你的问题。是的,出了问题。很抱歉。我试图让mysql\u受影响的行工作,但没有成功。不过,你对当前问题的回答很有效。谢谢