При использовании php мне нужно иметь 2 разных подключения к базе данных - PullRequest
0 голосов
/ 17 октября 2018

Мне нужно скопировать несколько строк из базы данных в другую базу данных.Я испытываю трудности.Я нашел несколько методов, но ни один из них не работает.Я использую версию php 5.4.

Оба соединения находятся на одном сервере, но все остальное отличается

Это код php, который я нашел, и он, похоже, не работаетвсе, я не могу выбрать из первой базы данных

// Create connection
$wpdb = mysql_connect($servername, $username, $password);

// Check connection
if ($wpdb->connect_error) {
    die("Connection failed: " . $wpdb->connect_error);
} 
echo "Connected local successfully\n";

//$starttime = date("h:i:sa");

$mydb = mysql_connect('localhost','dbname','dbpassword', true);

// Check connection
if ($mydb->connect_error) {
    die("Connection failed: " . $mydb->connect_error);
} 
echo "Connected to Integrity successfully\n";

mysql_select_db($database, $wpdb);
mysql_select_db('wordpress_0', $mydb);

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Я отказываюсь предлагать поддержку синтаксиса mysql_, поэтому предложу обновленную версию.

Почти полностью скопировано из руководства по php ... http://php.net/manual/en/mysqli.select-db.php

Код:

/* attempt and check connection including first database selection "test" */
if (!$mysqli = new mysqli("localhost", "root", "", "test")) {
    // never show the actual error to the public
    echo "<div>Database Connection Error: " , $conn->connect_error , "</div>";
    exit();
}

/* return name of current default database */
if (!$result = $mysqli->query("SELECT DATABASE()")) {
    // never show the actual error to the public
    echo "<div>Syntax Error: " , $conn->error , "</div>";
} else {    
    echo "<div>Default database is: " , $result->fetch_row()[0] , "</div>";
    $result->close();
}

/* change db to "mysql" db */
$mysqli->select_db("mysql");

/* return name of current default database */
if (!$result = $mysqli->query("SELECT DATABASE()")) {
    // never show the actual error to the public
    echo "<div>Syntax Error: " , $conn->error , "</div>";
} else {    
    echo "<div>Default database is: " , $result->fetch_row()[0] , "</div>";
    $result->close();
}
$mysqli->close();

Вывод:

Default database is: test
Default database is: mysql
0 голосов
/ 17 октября 2018

вы можете попробовать с PDO. Который предоставляет общий интерфейс для общения со многими различными базами данных.

$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 
'password');
...