webForumDet fria alternativet

Ansluta med PHP till MySQL på annan server

PHPur PHP

6 svar · 603 visningar · startad av peppar

pepparMedlem sedan dec. 2001873 inlägg
#1

Jag har en PHPscript på ett webbhotell. Från det scriptet skulle jag behöva hämta lite data från en databas som ligger på en dator som inte tillhör hotellet. Jag får inte connecten att fungera.... Felmeddelandet säger att: *** is not allowed to connect to this MySQL server in /**/**/test.php on line 14

så här har jag provat:

<?php
$dbhost = '**.**.**.**:3306';
$dbuser = '***';
$dbpass = '***';

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die
                      ('Error connecting to mysql');

$dbname = '****';
mysql_select_db($dbname);
?>
SPiNMedlem sedan mars 20007 896 inlägg
#2

Det beror antagligen på att den yttre databasen inte tillåter externa ip-adresser att ansluta till den. Om du har tillgång till den yttre databasen, kan du lösa det genom användning av nyckelordet GRANT.

k0ffeMedlem sedan maj 2003352 inlägg
#3

Du måste ge usern du ansluter med rättighet att connecta, kanske tillåta att du även får komma utifrån...

pepparMedlem sedan dec. 2001873 inlägg
#4

Tack! Verkar fungera!

pepparMedlem sedan dec. 2001873 inlägg
#5

Detta med GRANT blev en mindre djungel :)

Harlagt till den remotehost i phpmyadmin/prevelegies som skall connecta utifrån...
Har angett vilken databs som den användare har rätt att anslutat till men får detta felet:

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /***/test.php on line 22

Koden

<?php
$dbhost = '***:***';
$dbuser = '***';
$dbpass = '***';

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die
                      ('Error connecting to mysql');

$dbname = '***';
mysql_select_db($dbname);
$count=50;
$output=array();

RAD 22--> $connect = mysql_connect($DBSERVER, $DBLOGIN, $DBPASS) or die("Cannot connect to database");
mysql_select_db($ASECODB) or die("Cannot select Schema");

$query = "select message from TABLE order by mid desc limit 5000";
$result = mysql_query($query);

?>
TroxyMedlem sedan mars 20041 505 inlägg
#6

Hm...varifrån kommer variablerna $DBSERVER, $DBLOGIN och $DBPASS in i bilden? :)

pepparMedlem sedan dec. 2001873 inlägg
#7

:r Flåt, hade rört ihop det...

Det fungerar som det skall och jag får en output på min SQL... :)

126 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)