Diskuse

Téma: Join do mysql

Zdravím,
řeším následující dotaz. Mám 2 weby, oba dva u stejného hostera, stejný server pro mysql (localhost).

Potřebuju na webu A v souboru template.php vypsat data (jeden řádek) z mysql webu B.

Zkoušel jsem vytvořit zvlášť connect v template.php webu A, ale napsalo mi to, že není vybrána db.

Mám dotaz, jestli vůbec jde vedlejší connect.

Díky.
postZaslat odpověď
Samozřejmě že jde, ale pokud existují dva connecty, tak by měli být každý pod svojí proměnnou a dle proměnné je třeba ji uvést v dotazech. Pokud se proměnná v dotazech neuvádí, bere se poslední vytvořený connect.
Ahoj,
díky za odpověď, uvedu konkrétní příklad:
<?php
$uzivatel="****";
$heslo="****";
$server="localhost";
$db="****";
$spojeni=mysql_connect($server,$uzivatel,$heslo);
if (!$spojeni) {
echo "A máš po prdeli, blbe: " . mysql_error();
}
$vysledek = mysql_query("SELECT * FROM `sunlight-settings`",$db); echo mysql_error();
while ($zaznam = mysql_fetch_array($vysledek)) {
echo "".$zaznam['bunka']."";
};
?>
(informace ke spojení jsou záměrně vymazána).

mysql_error vypíše:
Warning: mysql_query() expects parameter 2 to be resource, string given in /home/httpd/*****/www/templates/default/template.php on line 90

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /home/httpd/*****/www/templates/default/template.php on line 91
.

V bunce jsou data, tak nevím.
Pokud jsou prihlasovaci udaje stejne, tak by ti melo stacit tohle.

mysql_select_db('database2');
mysql_query('tvuj select');
mysql_select_db('database1');

jen prepnout db, udelat select a pak prepnout zpet
Stejné nejsou, to bych to takhle neřešil.
Jde o rozdílné DB, jen běží na stejné mašině (stejný hosting).

Moc tvému zápisu nerozumím, ale chápu to dobře, pokud PHP v momentě, kdy má vypsat něco z "cizí db" přepne na jiný connect, vypíše to a pak se přepne na starý?
Ok, takže to co jsem ti napsal byl případ jen když by loginy do obou db byly stejné, takže se jen přepnula databáze a pak zpět.
Pokud loginy nejsou stejné mám pro tebe krásný příklad z komentářů dokumentace php:$handle_db1 = mysql_connect("localhost","myuser","apasswd");
$handle_db2 = mysql_connect("127.0.0.1","myuser","apasswd");
$handle_db3 = mysql_connect("localhost:3306","myuser","apasswd");
$handle_db4 = mysql_connect("localhost","otheruser","apasswd");

// give each handle it's own database to work with, permanently.
mysql_select_db("db1",$handle_db1);
mysql_select_db("db2",$handle_db2);
mysql_select_db("db3",$handle_db3);
mysql_select_db("db4",$handle_db4);

//do a query from db1:
$query = "select * from test"; $which = $handle_db1;
mysql_query($query,$which);

//do a query from db2 :
$query = "select * from test"; $which = $handle_db2;
mysql_query($query,$which);
a převedeno do tvého kódu:<?php
$uzivatel="****";
$heslo="****";
$server="localhost";
$db="****";
$spojeni=mysql_connect($server,$uzivatel,$heslo);
mysql_select_db($db,$spojeni);
if (!$spojeni) {
echo "A máš po prdeli, blbe: " . mysql_error();
}
$vysledek = mysql_query("SELECT * FROM `sunlight-settings`",$spojeni); echo mysql_error();
while ($zaznam = mysql_fetch_array($vysledek)) {
echo "".$zaznam['bunka']."";
};
?>