Subversion Repositories cheapmusic

Rev

Blame | Last modification | View Log | RSS feed

<?php
ini_set("zlib.output_compression", "On");
ini_set("zlib.output_compression_level", 4);
ini_set("display_errors", 1);
ini_set("log_errors", 1);
ini_set("error_log", $_SERVER['DOCUMENT_ROOT'] . "/../MyFiles/logs/php_error.log");
ini_set("date.timezone", "America/New_York");

$dblink_in = mysqli_connect('localhost', 'vh3504_admin', 'uwe2592', 'vh3504_cheapmusic'); // connect live server
//$dblink_in = mysqli_connect('localhost', 'root', 'uwe2592', 'cheapmusic'); // connect live server
if (mysqli_connect_errno()) {
    error_log("Failed to connect to MySQL: " . mysqli_connect_error());
    exit;
}

$dblink_out = mysqli_init();
mysqli_ssl_set($dblink_out, $_SERVER['DOCUMENT_ROOT'] . "/../MyFiles/config/mysql-client-key.pem", $_SERVER['DOCUMENT_ROOT'] . "/../MyFiles/config/mysql-client-cert.pem", $_SERVER['DOCUMENT_ROOT'] . "/../MyFiles/config/mysqld-ca-cert.pem", NULL, NULL);
mysqli_real_connect($dblink_out, '72.192.249.128', 'cheapmusic_php', 'uwe2592', 'cheapmusic_live', 3306, '', MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT); // connect copy server
//mysqli_real_connect($dblink_out, '10.192.25.240', 'root', 'uwe2592', 'cheapmusic_live', 3306, '', MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT); // connect copy server
if (mysqli_connect_errno()) {
    error_log("Failed to connect to MySQL: " . mysqli_connect_error());
    exit;
}

$tables = array('searches', 'transfers', 'barcodeChecks', 'geoLocation', 'searchPerformance', 'wishlist', 'users');

foreach($tables as $table) {
    copyTable($table, $dblink_in, $dblink_out);
}

mysqli_close($dblink_in);
mysqli_close($dblink_out);

function copyTable($table, $dblink_in, $dblink_out) {
    $tableinfo = mysqli_fetch_array(mysqli_query($dblink_in, "SHOW CREATE TABLE $table") , MYSQLI_ASSOC); // get structure from table on server 1
    mysqli_query($dblink_out, "DROP TABLE IF EXISTS $table");
    mysqli_query($dblink_out, $tableinfo["Create Table"]); // use found structure to make table on server 2
    $result = mysqli_query($dblink_in, "SELECT * FROM $table"); // select all content
    $cnt = 0;
    mysqli_begin_transaction($dblink_out);

    while ($row = mysqli_fetch_assoc($result)) {
        $vals = array_values($row);
        foreach ($vals as & $val) {
            if ($val == null) {
                $val = 'NULL';
            }
            else {
                $val = "'" . mysqli_real_escape_string($dblink_out, $val) . "'";
            }
        }

        $sql = "INSERT INTO $table (" . implode(",", array_keys($row)) . ") VALUES (" . implode(",", $vals) . ")";
        if (!mysqli_query($dblink_out, $sql)) {
            error_log($sql);
            error_log("Error description: " . mysqli_error($dblink_out));
        }

        if (++$cnt > 100) {
            mysqli_commit($dblink_out);
            mysqli_begin_transaction($dblink_out);
            $cnt = 0;
        }
    }
    mysqli_commit($dblink_out);
}