Rezultate 1 la 10 din 13

Subiect: Conectare la mijlocul paginii la mySql pe alt server.How?

Afișare hibrid

  1. #1
    Avatarul lui dublutz
    dublutz este deconectat Membru SeoPedia
    Reputatie:
    35
    Data înscrierii
    3rd October 2007
    Vârstă
    42
    Posturi
    175
    Putere Rep
    35


    Implicit

    Trebuie sa ai 2 conexiuni, una pt. fiecare server mysql si sa folosesti resursele de conexiune explicit.

    Cod PHP:
    $c1 mysql_connect( .... server_1 .... ); 
    mysql_select_db("db_server_1"$c1);

    $c2 mysql_connect( .....server_2 .... ); 
    mysql_select_db("db_server_2"$c2); 
    Folosesti resursele de conexiune in mod explicit pt. orice request la serverele mysql

    Cod PHP:
    mysql_query('select ... '$c1);
    mysql_query('select ... '$c2);
    ...
    mysql_close($c1);
    mysql_close($c2); 
    Ultima modificare făcută de dublutz; 29th October 2008 la 10:44.

  2. #2
    Avatarul lui evolution
    evolution este deconectat Membru SeoPedia
    Reputatie:
    41
    Data înscrierii
    29th October 2006
    Locaţie
    Bucuresti
    Posturi
    997
    Putere Rep
    41


    Implicit

    La inceputul paginii ma conectez pe baza de date a siteului cu <?php include ("conectare_la_baza_de_date1.php");?> apoi urmeaza cod php .

    Inchid codul php apoi pun <?php include ("conectare_la_baza_de_date2.php");?> apoi cod php care afiseaza informatii din baza de date 2 de pe alt server si site. Inchid codul php.

    Apoi revin la prima baza de date <?php include ("conectare_la_baza_de_date1.php");?> si cod php pt baza de date 1

    E corect ca principiu asa ?

  3. #3
    Avatarul lui forapathy
    forapathy este deconectat Membru SeoPedia
    Reputatie:
    36
    Data înscrierii
    7th May 2007
    Locaţie
    Iasi
    Vârstă
    40
    Posturi
    212
    Putere Rep
    36


    Implicit

    Citat Postat în original de evolution Vezi Post
    E corect ca principiu asa ?
    am o vaga impresie ca nu prea intelegi cum functioneaza php-ul si chestia cu conexiunile la baza de date

    cu <?php ? > doar spui serverului ca acolo e cod php si trebuie sa il parseze.. logica codului dintr-un fisier php se poate duce intr diferite taguri <?php

    deci tu ce trebuie sa faci e sa creezi cele 2 conexiuni si query-urile asa cum a zis dublutz..
    ca tu trebuie doar sa specifici in query spre ce conexiune sa se duca.. atat
    Scriu, rar, pe point47 diverse tips&tricks in web-dev.

  4. #4
    Avatarul lui Dever
    Dever este deconectat Ambasador
    Reputatie:
    37
    Data înscrierii
    28th July 2006
    Locaţie
    UK
    Vârstă
    45
    Posturi
    378
    Putere Rep
    37


    Implicit

    @evolution:
    Teorie: Se parseaza toate fisierele necesare afisarii unei pagini unui client, apoi se trimit catre client.

    Practic asta inseamna ca poti face asa:
    - deschizi conexiunile 1 si 2 (cele 2 include-uri);
    - poti folosi orice query oriunde in pagina (specificand ce conexiune vrei sa folosesti - daca nu specifici va folosi ultima conexiune deschisa);
    If the link identifier is not specified, the last link opened by mysql_connect() is assumed.
    - la final inchizi conexiunile;

    Nu trebuie sa lucrezi cu fiecare pe rand (sa deschizi, sa inchizi).
    Dever's Blog - Atentie! dau cu parerea.

  5. #5
    Avatarul lui evolution
    evolution este deconectat Membru SeoPedia
    Reputatie:
    41
    Data înscrierii
    29th October 2006
    Locaţie
    Bucuresti
    Posturi
    997
    Putere Rep
    41


    Implicit

    Am facut un site2 si vreau sa afisez niste informatii aflate pe siteul1.
    Siteul2 este pe alt server decat siteul1.

    Acum am pe siteul2 asta:

    <?php include ("db2.php");?>

    <html>
    <head>
    metataguri
    </head>
    <body>
    <?
    $sql = "select * from articole where (idunic='$idunic' and titlu='$titlu')";
    $result = mysql_query ($sql);
    while($row = mysql_fetch_array($result)){
    $idunic=$row["idunic"];
    $titlu=$row["titlu"];

    echo"
    $titlu
    "; ?>

    </body>
    </html>
    unde db2.php contine

    <?php
    $dbhost = "localhost";
    $dbname = "numebazadedate2";
    $dbuser = "username2";
    $dbpasswd = "parola2";
    $prefix = "";
    if(!$db = @mysql_connect("$dbhost", "$dbuser", "$dbpasswd"))
    die('Check $dbhost, $dbuser, and $dbpasswd in config.php.');

    if(!@mysql_select_db("$dbname",$db))
    die("Unable to find the database <b>$dbname</b> on your MySQL server.");
    ?>

    Acum am pus la inceput 2 includeuri ,ca sa accesez ambele baze de date,apoi sa afisez informatiile,dar imi da eroare la conectarea db1.php
    <?php include ("db1.php");?>
    <?php include ("db2.php");?>

    db1.php contine

    <?php
    $dbhost = "siteul1.com";
    $dbname = "numebazadedate1";
    $dbuser = "username1";
    $dbpasswd = "parola1";
    $prefix = "";
    if(!$db = @mysql_connect("$dbhost", "$dbuser", "$dbpasswd"))
    die('Check $dbhost, $dbuser, and $dbpasswd in config.php.');

    if(!@mysql_select_db("$dbname",$db))
    die("Unable to find the database <b>$dbname</b> on your MySQL server.");
    ?>
    eroarea este: An Error OccurredUnable to connect to the database.Check $dbhost, $dbuser, and $dbpasswd in config.php. La $dbhost = "siteul1.com"; am inlocuit siteul1.com cu ip-ul siteului sau cu ip:port si tot nu merge.

  6. #6
    Avatarul lui forapathy
    forapathy este deconectat Membru SeoPedia
    Reputatie:
    36
    Data înscrierii
    7th May 2007
    Locaţie
    Iasi
    Vârstă
    40
    Posturi
    212
    Putere Rep
    36


    Implicit

    Citat Postat în original de evolution Vezi Post
    <?php include ("db1.php");?>
    <?php include ("db2.php");?>
    Daca scrii aia tu defapt o sa iti rezulte asta:

    // site 1
    $dbhost = "siteul1.com";
    $dbname = "numebazadedate1";
    $dbuser = "username1";
    $dbpasswd = "parola1";
    $prefix = "";
    if(!$db = @mysql_connect("$dbhost", "$dbuser", "$dbpasswd"))
    die('Check $dbhost, $dbuser, and $dbpasswd in config.php.');

    // site 2
    $dbhost = "localhost";
    $dbname = "numebazadedate2";
    $dbuser = "username2";
    $dbpasswd = "parola2";
    $prefix = "";
    if(!$db = @mysql_connect("$dbhost", "$dbuser", "$dbpasswd"))
    die('Check $dbhost, $dbuser, and $dbpasswd in config.php.');

    ... adica ai de 2 ori aceleasi variabile si primele sunt inlocuite cu continutul celor din site-ul 2.

    Cel mai bine e sa faci o functie ceva de genu:

    function conectareDB ($dbhost, $dbuser, $dbpasswd, $dbname ) {
    $db = mysqli_connect($dbhost, $dbuser, $dbpasswd, $dbname);
    if(!db)
    {return false;}
    else
    { return $db; }
    }

    asa.. si acum ai o functie mai generala si poti sa faci asa:

    $con1 = conectareDB ("hostu_tau", "user", "parola", "numele_db" );
    if($con1 == false) die("Nu a mers conexiunea");

    $con2 = conectareDB ("hostu_tau2", "user2", "parola2", "numele_db2" );
    if($con2 == false) die("Nu a mers conexiunea");


    si acum ai 2 conexiiuni care le poti folosi.. in contiunuare:

    // aici folosesti conexiunea 1
    $sql = "select * from articole where (idunic='$idunic' and titlu='$titlu')";
    $result = mysqli_query ($sql, $con1);
    while($row = mysql_fetch_array($result)){
    $idunic=$row["idunic"];
    $titlu=$row["titlu"];

    // aici folosesti conexiunea 2
    $sql = "select * from articole where (idunic='$idunic' and titlu='$titlu')";
    $result = mysqli_query ($sql, $con2);
    while($row = mysql_fetch_array($result)){
    $idunic=$row["idunic"];
    $titlu=$row["titlu"];


    NU am testat codul dar teoretic ar trebui sa functioneze
    Invata sa folosesti mySQLImproved (mysqli) ca merge muult mai repede.
    Si ar trebui sa inveti si cum sa folosesti functiile. Iti zic sigur daca citesti un manual de php macar pana la OOP o sa te descurci si muult mai usor.

    Sper sa te ajute codu asta cu ceva .

    Ahh si mai e si posibilitatea sa aibe portul 3306 blocat
    Scriu, rar, pe point47 diverse tips&tricks in web-dev.

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Thread-uri Similare

  1. curs conectare la internet
    De prodan_13 în forumul Bar, lobby...
    Răspunsuri: 1
    Ultimul Post: 19th May 2009, 13:48
  2. CTR al paginii 100
    De mariuslmm în forumul Adsense
    Răspunsuri: 7
    Ultimul Post: 5th March 2009, 15:40
  3. Răspunsuri: 7
    Ultimul Post: 14th February 2009, 15:40
  4. CTR al paginii
    De Mihai Gianu în forumul Adsense
    Răspunsuri: 14
    Ultimul Post: 6th November 2007, 17:17
  5. Domeniu pe un server, site-ul pe alt server
    De soft în forumul Google
    Răspunsuri: 2
    Ultimul Post: 31st October 2007, 14:30

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •