PHP мульти базы данных подключения - PullRequest
3 голосов
/ 08 декабря 2010
<?
    $db1 = mysql_connect("localhost","root","root") or dir("can not connect Mysql Server");
    mysql_select_db("1",$db1) or dir("Can not connect to the MySQL Server.");

    $db2 = mysql_connect("localhost","root","root") or dir("can not connect Mysql Server");
    mysql_select_db("2",$db2) or dir("Can not connect to the MySQL Server.");
?>

$result = mysql_query("SELECT * FROM db1.tags WHERE db1.catalog='fresh tag' ");

Если я подключаюсь из нескольких баз данных, как сделать запрос MySQL из db1?

Ответы [ 7 ]

8 голосов
/ 08 декабря 2010

Укажите его в запросе.

$result = mysql_query($query, $db1);

Если второй параметр ($ db1) опущен, он будет использовать последний определенный ресурс ($ db2)

2 голосов
/ 08 декабря 2010

См. Документацию mysql_query . Вы просто передаете link_identifier в качестве второго параметра.

$result = mysql_query("SELECT * FROM db1.tags WHERE db1.catalog='fresh tag'", $db1);
2 голосов
/ 08 декабря 2010

Второй параметр mysql_query является ресурсом соединения.он запросит это соединение.

2 голосов
/ 08 декабря 2010

Смотрите в руководстве .

resource mysql_query ( string $query [, resource $link_identifier ] )

Как вы уже сделали для mysql_select_db(), вы можете указать соединение в качестве второго параметра.

1 голос
/ 08 декабря 2010

Если они оба на локальном хосте, вам не нужно подключаться 2 раза.Вы можете просто сделать что-то вроде этого:

SELECT * FROM db2.tags WHERE id IN(SELECT id FROM db1.tags WHERE id=1)

Таким образом, вы можете сравнивать обе базы данных, не устанавливая два соединения.

Теперь, если у вас нет обоих в одном месте, вы можетесделайте что-то вроде этого:

mysql_select_db(db1);
$db1Result = mysql_query("SELECT * FROM db1.tags WHERE id=1");
mysql_select_db(db2);
$db2Result = mysql_query("SELECT * FROM db2.tags WHERE id=1");

И после этого сравните результаты из $ db1Result с результатами из $ db2Result.

1 голос
/ 08 декабря 2010

Использование

mysql_query($query, $db1);

или

mysql_select_db();
0 голосов
/ 11 мая 2017
//get my conn
include "../../database.php";
//put data in
//get data
if($_GET['attribute']!=''){
    //prepare
    $stmt=$conn->prepare('INSERT INTO databasetablename (attribute) VALUES (?)');
    //bind
    $stmt->bind_param('s',$_GET['attribute']);
    //execute
    $stmt->execute();
    $stmt->close();
}

    //print data out
    $res=$conn->query("SELECT attribute FROM databasetablename");
    if($res){
        while($hold = mysqli_fetch_array($res,MYSQL_ASSOC)){
            $record[]=$hold;
            echo $hold['attribute'];
        }
    }
    echo '<hr/>';
    //print out
        foreach($record as $cur){
            echo $cur['attribute'].<br/>;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...