webForumDet fria alternativet

Ansluta med PHP till MySQL på annan server

PHP

6 svar · 603 visningar · startad av peppar

Medlem sedan dec. 2001873 inlägg
Frågan#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);
?>
Medlem 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.

Medlem 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...

Medlem sedan dec. 2001873 inlägg
#4

Tack! Verkar fungera!

Medlem 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);

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

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

Medlem 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... :)

271 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)