Peršokti į turinį

Pagalbos dėl Mysql.


Recommended Posts

Karočia tokia beda, reikia kad iš vieno failo connect.php prijungtu dvi skirtingas phpmyadmin.

<?php

$dbhost = 'localhost';
$dbname = 'db_aze';
$dbuser = 'db_aze';
$dbpass = 'slaptazodis';



$db = @mysql_connect($dbhost,$dbuser,$dbpass);

if(!$db || [email protected]_select_db($dbname,$db))

?>

Reiki prie šito prideti prieda kad prijungtu vienu kartu antra phpmyadmin su kitais duomenimis, kaip taip padaryt?

Redaguota , nario Gelik.
Nuoroda į komentarą
Dalintis per kitą puslapį

Nesu tikras ar veiks bet pabandyk:

<?php

$dbhost = 'localhost';
$dbname = 'db_aze';
$dbname2 = 'db_aze2';
$dbuser = 'db_aze';
$dbpass = 'slaptazodis';

$db = @mysql_connect($dbhost,$dbuser,$dbpass);

if(!$db || [email protected]_select_db($dbname,$db))
if(!$db || [email protected]_select_db($dbname2,$db))

?>

Jei nenaudoji skirtingui db skirtingo user bei pass

Redaguota , nario Ssaint
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

 

Nesu tikras ar veiks bet pabandyk:

<?php

$dbhost = 'localhost';
$dbname = 'db_aze';
$dbname2 = 'db_aze2';
$dbuser = 'db_aze';
$dbpass = 'slaptazodis';

$db = @mysql_connect($dbhost,$dbuser,$dbpass);

if(!$db || [email protected]_select_db($dbname,$db))
if(!$db || [email protected]_select_db($dbname2,$db))

?>

Jei nenaudoji skirtingui db skirtingo user bei pass

Naudoju ir skirtinga user, bet pabandžiau dar perdaryt taip:

<?php

$dbhost = 'localhost';
$dbname = 'db_aze';
$dbname2 = 'db_aze2';
$dbuser = 'db_aze';
$dbuser2 = 'db_aze2';
$dbpass = 'slaptazodis';



$db = @mysql_connect($dbhost,$dbuser,$dbpass);
$db = @mysql_connect($dbhost,$dbuser2,$dbpass);

if(!$db || [email protected]_select_db($dbname,$db))
if(!$db || [email protected]_select_db($dbname2,$db))

?>

 

 

Tačiau atsako tik viena duombaze.. Antroji kažkur pasiklydusi lieka.. Yra gal dar kokiu budu?

Redaguota , nario Gelik.
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

 

Pagal šita gali padet perdaryt?

<?php



$dbhost = 'localhost';
$dbname = 'db_aze';
$dbuser = 'db_aze';
$dbpass = 'slaptazodis';



$db = @mysql_connect($dbhost,$dbuser,$dbpass);

if(!$db || [email protected]_select_db($dbname,$db))



?>

Pabandžiau tu varijantu kur davei link'a, bet kažko nelabai man gavosi. Esu dar pradininkas tai suprask. 

Redaguota , nario Gelik.
Nuoroda į komentarą
Dalintis per kitą puslapį

$dbhost = 'localhost';
$dbname = 'db_aze';
$dbuser = 'db_aze';
$dbpass = 'slaptazodis';

$dbh1 = @mysql_connect($hostname, $username, $password, true); 

@mysql_select_db($dbname, $dbh1);

query irgi rašyk kaip payzdy

 

$q = mysql_query("SELECT `column` FROM `table`", $dbh1);
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 3 savaičių...

Visdar nekertu, apdestisiu visa situacija. Du servai iaina į viena connect.php faila, atrodo vat taip:

 

$server = 1;
include('game/connect.php');
list($on1) = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM users WHERE time>UNIX_TIMESTAMP()"));
$day_s1 = mysql_fetch_array(mysql_query("SELECT day FROM time"));
$users_s1 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users"));
mysql_close($db);

$server = 2;
include('game/connect.php');
list($on2) = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM users WHERE time>UNIX_TIMESTAMP()"));
$day_s2 = mysql_fetch_array(mysql_query("SELECT day FROM time"));
$users_s2 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users"));
mysql_close($db);

connect.php failas atrodo taip:

<?php

$dbhost = 'localhost';
$dbname = 'wat_mers4';
$dbuser = 'wat_mers4';
$dbpass = 'passsss';


$db = @mysql_connect($dbhost,$dbuser,$dbpass);

if(!$db || [email protected]_select_db($dbname,$db))



?>

Na ir reikia prijungti antra duombaze, t.y 

$dbname = 'wat_mers5';
$dbuser = 'wat_mers5';

Va toki , išbandžiau su:

$dbname2 = 'wat_mers5';
$dbuser2 = 'wat_mers5';

Nieko nepasikeite, serveris jungiasi tai i viena duombaze tai i kita..

Kas žinosi prašvieskit, kas buvo aukščiau bandžiau nepavyko. :/

 

 

Nuoroda į komentarą
Dalintis per kitą puslapį

Nebandžiau, bet turėtu veikti iš idėjos, tikiuosi moki naudotis masyvais :)

<?php
        $host = 'localhost';
        $dbinfo = [ ];
        $dbinfo[ ] = [
                'dbname' => 'db_aze',
                'dbuser' => 'db_aze',
                'dbpass' => 'slaptazodis'
                'dbconnection' => null
        ];
        $dbinfo[ ] = [
                'dbname' => 'db_aze2',
                'dbuser' => 'db_aze2',
                'dbpass' => 'slaptazodis2'
                'dbconnection' => null
        ];
        if( sizeof( $dbinfo ) ) {
                foreach( $dbinfo as $db => $key ) {
                        $dbinfo[ $db ][ 'dbconnection' ] = @mysql_connect( $host, $key[ 'dbuser' ], $key[ 'dbpass' ], true );
                        @mysql_select_db( $key[ 'dbname' ], $dbinfo[ $db ][ 'dbconnection' ] );
                }
                // TAVO KODAS... //

                foreach( $dbinfo as $db => $key ) {
                        mysql_close( $dbinfo[ $db ][ 'dbconnection' ] );
                }
        }
?>
Redaguota , nario TBagT
  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

Šiuo metu neturiu kaip patikrinti kodo tad rašau nežinodamas. Aukščiau pateiktame kode pamiršau kablelius sudėt tam tikrose vietose.
Čia pagal idėja turėtu parodyt ko tu nori, bet vėl gi nežinau ar veiks kai neturiu kaip išbandyt.
 
Visu pirma $dbinfo masyvas saugo tavo duomenų bazių informaciją. Pagal tiek kiek jų yra sprendžiama kiek yra serverių ir vykdomas ciklas kiekvieno serverio duomenų bazės įrašams gauti. Plius labai senai dirbau su mysql paprastu kodu tai gali buti klaidų, nes naudoju PDO. Jei mes kokia klaidą parašyk :)

 

Man dar ne aišku dėl tavo siunčiamų užklausų į duomenų bazę, jei plačiau paaiškintum gal ir lengviau butu.

<?php
        $host = 'localhost';
        $dbinfo = [ ];
        $dbinfo[ ] = [
                'dbname' => 'db_aze',
                'dbuser' => 'db_aze',
                'dbpass' => 'slaptazodis',
                'dbconnection' => null
        ];
        $dbinfo[ ] = [
                'dbname' => 'db_aze2',
                'dbuser' => 'db_aze2',
                'dbpass' => 'slaptazodis2',
                'dbconnection' => null
        ];
        if( sizeof( $dbinfo ) ) {
                foreach( $dbinfo as $db => $key ) {
                        $dbinfo[ $db ][ 'dbconnection' ] = @mysql_connect( $host, $key[ 'dbuser' ], $key[ 'dbpass' ] );
                        @mysql_select_db( $key[ 'dbname' ], $dbinfo[ $db ][ 'dbconnection' ] );
                }

                $q = [ ]; $users = [ ];
                for( $index = 0; $index < sizeof( $dbinfo ); $index++ ) {
                        $q[ ] = mysql_query( "SELECT COUNT(*) FROM {$dbinfo[ $index ][ 'dbname' ]}.users WHERE time > UNIX_TIMESTAMP( )" );
                        $q[ ] = mysql_query( "SELECT day FROM {$dbinfo[ $index ][ 'dbname' ]}.time" );
                        $q[ ] = mysql_query( "SELECT COUNT(*) FROM {$dbinfo[ $index ][ 'dbname' ]}.users" );
                        $users[ ][ 'by_unix' ]     = mysql_fetch_assoc( $q[ 0 ] );
                        $users[ ][ 'day' ]         = mysql_fetch_assoc( $q[ 1 ] );
                        $users[ ][ 'total_users' ] = mysql_fetch_assoc( $q[ 2 ] );
                }

                foreach( $users as $server => $stats ) {
                        echo "Server id: {$server}";
                        echo $stats[ 'by_unix' ] . "<br>";
                        echo $stats[ 'day' ] . "<br>";
                        echo $stats[ 'total_users' ] . "<br>";
                }

                foreach( $dbinfo as $db => $key ) {
                        mysql_close( $dbinfo[ $db ][ 'dbconnection' ] );
                }
        }


Redaguota , nario TBagT
  • Teigiamai 2
Nuoroda į komentarą
Dalintis per kitą puslapį

<?php
        $host = 'localhost';
        $dbinfo = [ ];
        $dbinfo[ ] = [
                'dbname' => 'db_aze',
                'dbuser' => 'db_aze',
                'dbpass' => 'slaptazodis',
                'dbconnection' => null
        ];
        $dbinfo[ ] = [
                'dbname' => 'db_aze2',
                'dbuser' => 'db_aze2',
                'dbpass' => 'slaptazodis2',
                'dbconnection' => null
        ];
        if( sizeof( $dbinfo ) ) {
                foreach( $dbinfo as $db => $key ) {
                        $dbinfo[ $db ][ 'dbconnection' ] = @mysql_connect( $host, $key[ 'dbuser' ], $key[ 'dbpass' ] );
                        @mysql_select_db( $key[ 'dbname' ], $dbinfo[ $db ][ 'dbconnection' ] );
                }

                $q = [ ]; $users = [ ];
                for( $index = 0; $index < sizeof( $dbinfo ); $index++ ) {
                        $q[ ] = mysql_query( "SELECT COUNT(*) FROM {$dbinfo[ $index ][ 'dbname' ]}.users WHERE time > UNIX_TIMESTAMP( )" );
                        $q[ ] = mysql_query( "SELECT day FROM {$dbinfo[ $index ][ 'dbname' ]}.time" );
                        $q[ ] = mysql_query( "SELECT COUNT(*) FROM {$dbinfo[ $index ][ 'dbname' ]}.users" );
                        $users[ ][ 'by_unix' ]     = mysql_fetch_assoc( $q[ 0 ] );
                        $users[ ][ 'day' ]         = mysql_fetch_assoc( $q[ 1 ] );
                        $users[ ][ 'total_users' ] = mysql_fetch_assoc( $q[ 2 ] );
                }

                foreach( $users as $server => $stats ) {
                        echo "Server id: {$server}";
                        echo $stats[ 'by_unix' ] . "<br>";
                        echo $stats[ 'day' ] . "<br>";
                        echo $stats[ 'total_users' ] . "<br>";
                }

                foreach( $dbinfo as $db => $key ) {
                        mysql_close( $dbinfo[ $db ][ 'dbconnection' ] );
                }
        }

kuriant masyvą, ne [ ] naudok, o array() ir tada jam klaidų nesvaidys

Redaguota , nario leoleva
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 2 savaičių...

Taip, php senesne versija yra, dekui kas bandet padet, jau susitvarkiau. :)

Viskas gerai pasidare su tokiu kodu:

<?php

$dbhost = 'localhost';

if($server == 1)
$dbname = 'db_aze';
else
$dbname = 'db_aze1';

if($server == 1)
$dbuser = 'db_aze';
else
$dbuser = 'db_aze1';
$dbpass = 'pass';

$db = @mysql_connect($dbhost,$dbuser,$dbpass);

if(!$db || [email protected]_select_db($dbname,$db))
die('MySQL klaida.. Pabandykite puslapį įkrauti iš naujo.');

?>
Nuoroda į komentarą
Dalintis per kitą puslapį

Puiku kad išsprendei, bet galėtum ir sutrumpint savo kodą

 

<?php

$dbhost = 'localhost';

if($server == 1) {
    $dbname = 'db_aze';
    $dbuser = 'db_aze';
    //čia nematau $dbpass, toks turėtų būt kai server = 1 sąlygoje...
}
else {
   $dbname = 'db_aze1';
   $dbuser = 'db_aze1';
   $dbpass = 'pass';
}

$db = @mysql_connect($dbhost,$dbuser,$dbpass);

if(!$db || [email protected]_select_db($dbname,$db))
die('MySQL klaida.. Pabandykite puslapį įkrauti iš naujo.');

?>
Be to, klaidingai vartoji pavadinimą "PhpMyAdmin"

Reiki prie šito prideti prieda kad prijungtu vienu kartu antra phpmyadmin su kitais duomenimis, kaip taip padaryt?

Tu jungiesi ne prie phpmyadmin iš savo skripto, tu jungiesi prie duomenų bazės. Phpmyadmin yra atskiras dalykas, tai įrankis skirtas per naršyklę valdyti savo duomenų bazę. Nepainiok šių sąvokų. Redaguota , nario VytisJ
  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

Puiku kad išsprendei, bet galėtum ir sutrumpint savo kodą

 

<?php

$dbhost = 'localhost';

if($server == 1) {
    $dbname = 'db_aze';
    $dbuser = 'db_aze';
    //čia nematau $dbpass, toks turėtų būt kai server = 1 sąlygoje...
}
else {
   $dbname = 'db_aze1';
   $dbuser = 'db_aze1';
   $dbpass = 'pass';
}

$db = @mysql_connect($dbhost,$dbuser,$dbpass);

if(!$db || [email protected]_select_db($dbname,$db))
die('MySQL klaida.. Pabandykite puslapį įkrauti iš naujo.');

?>
Be to, klaidingai vartoji pavadinimą "PhpMyAdmin"

Tu jungiesi ne prie phpmyadmin iš savo skripto, tu jungiesi prie duomenų bazės. Phpmyadmin yra atskiras dalykas, tai įrankis skirtas per naršyklę valdyti savo duomenų bazę. Nepainiok šių sąvokų.

 

 

Dekoju už patarimus. :)

Nuoroda į komentarą
Dalintis per kitą puslapį

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

×
×
  • Sukurti naują...