Autor Zpráva
Karolína
Profil *
Dobrá večer. Poradí mi nějaká hodná "duše" jak bych mohla vypsat data ze dvou db najednou? Mám nedifonovanou jednu db se kterou pracuji ale v jednom případě si potřebuji odskočit do jine db ze které načtu jeden sloupec a případně ho updatuji. Děkuji všem za pomoc!
pcmanik
Profil
Karolína:
Skutocne myslis DB a nie tabulku? Ak chces skutocne inu db, tak jednoducho vytvoris dalsie spojenie a odkazovat na neho budes v mysql_query. Staci si pozret oficialny manual tychto dvoch funkcii.
Keeehi
Profil
Prostě v scriptu si vybereš jinou databázi:
//kód
mysql_select_db ("druhá_db");
mysql_query("....");
mysql_select_db ("první_db");
//další kód

Případně http://cz.php.net/manual/en/function.mysql-db-query.php, ale od verze 5.3.0 je už zastaralá.
Louka
Profil
Karolína:
To, co napsal Keeehi je za předpokladu, že obě tabulky jsou na stejném serveru a dostupné pod jedním přihlašovacím jménem (tedy vidíš obě po loginu do např. phpMyAdmina).

Jestliže jsou na jiných serverech, bude třeba ukončit první spojení a pak navázat druhé.
Mike8748
Profil
Louka:
Jestliže jsou na jiných serverech, bude třeba ukončit první spojení a pak navázat druhé.
a to jako proč?

mysql_connect vraci identifikátor spojení s databází, daná hodnota se použije jako druhý parametr při volání mysql_query.

není důvod pro ukončování spojení jenom proto že se chceš připojit k jinému databázovému serveru, klidně můžeš být napojen na 10 databází a pracovat s nimi najednou.
Louka
Profil
Mike8748:
Díky, druhý argument mysql_query mě nenapadl. A když na konci skriptu chci ukončit spojení, tak zavolám jen mysql_close(); a ukončí se vše, nebo je třeba pro každé spojení provést mysq_close($id_spojeni)?
pcmanik
Profil
Louka:
Na co asi existuje oficialny manual? Na buduce prejav aspon trochu namahy :D
Louka
Profil
Promiň, pcmaniku, ale když už jsem tu byl a napadl mě v téhle souvislosti dotaz, tak jsem se nezávazně optal a šel dál :).
Karolína
Profil *
Keeehi:
Tak to vůbec nefunguje, zkoušela jsem se přihlásit do PMA se stejným heslem a uložit nějaké data. Všechno OK, ale v php mi to pořád píše, že jsem v první table..

prvnitable.prvnisloupec a mělo by to být druhatable-prvnisloupec..

Table 'table1.sloupec1' doesn't exist

Tak fakt nevím :(
Karolína
Profil *
Nikdo prosím nevíte kde můžu hledat ještě problém? :(
Karolína
Profil *
Ještě mě napadá, nevadí to, že to volám ve funkci tu změnu tabulky? Díky
Karolína
Profil *
Tak to funguje v pohode mimo funkci, ale ve funkci se db neprepne, jak to muzu opravit aby to jelo i ve funkci?
Keeehi
Profil
Karolína:
Ukaž tu funkci. Jinak ti neporadíme.
Ale mé věštecké schopnosti mi říkají, že nevíš, že proměnné uvnitř funkce a proměnné mimo funkci jsou úplně jiné proměnné, i když se stejně jmenují.
A proč zrovna tato věštba? Protože tento týden budeš nejspíš třetí, kdo má takový problém. Takže kdyby jsi si to tady prošla a prohledala, asi by jsi na to narazila. Třeba dneska ráno.
Karolína
Profil *
Tohle funguje v pohodě

<?php 
mysql_select_db($db_select_2, $link);
?>


a tohle nefunguje

<?php 
function sel_db(){
global $db_select_2;
global $link;
mysql_select_db($db_select_2, $link);
}
?>


Díky
Keeehi
Profil
Karolína:
Fungovat to musí. Nezapomínáš tu funkci zavolat?
nightfish_
Profil *
následující syntaxe by použít nešla?
SELECT * FROM `databaze1`.`tabulka1` ...

SELECT * FROM `databaze2`.`tabulka5` ...

(tedy v případě, že jsou obě databáze viditelné v rámci aktuálního spojení)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0