Verbinding maken met MySQL database via externe verbinding.

  • Onderwerp starter Onderwerp starter Matse
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Matse

Gebruiker
Lid geworden
18 jul 2007
Berichten
42
Heey,

Ik heb op mijn pc een MySQL database draaien.
En nu wil ik dus vanaf een andere pc verbinding maken met die database.
De bedoeling is dat je vanaf overal een account maken via mijn website en dat die het dat in de database zet.
Dit script staat op m´n website:

PHP:
  <?php
$host['naam'] = '83.82.122.141:3306';                
$host['gebruikersnaam'] = 'root';      
$host['wachtwoord'] = 'root';  
$host['databasenaam'] = 'odinms';       

$db = mysql_connect($host['naam'], $host['gebruikersnaam'], $host['wachtwoord']) OR die ('Cant connect to the database');
mysql_select_db($host['databasenaam'], $db);
?>

Gewoon een standaard connection script dus.
Er is een ding dat ik al vaag vind en dat is dat het IP adres (volgens watismijnip.nl) op zowel mijn gewone laptop als op mijn pc (waar sql op draait) allebei 83.82.122.144 is????.
Maar bij de Host heb ik dus toch maar dat IP nummer ingevuld met :3306, die heeft sql volgens mij nodig voor inkomende verbindingen.
Maar goed als ik dus dat script probeer krijg ik de error:

Warning: mysql_connect(): Access denied for user 'root'@'192.168.1.1' (using password: YES) in /www/zxq.net/m/a/t/matzuh/htdocs/leandermatse.nl/Database/config.php on line 7 Cant connect to the database

??

Kan iemand mij helpen? Ben hier echt al zooooo lang mee bezig. Zelfs op mijn school snapt niemand het. :P
Ik kan wél verbinding maken als ik gewoon als host "localhost" gebruik, en dat dat script op de pc gebruik waar sql op draait. Maar dat is volgens mij ook wel logisch.
 
Omdat mensen via de website moeten kunnen registreren waar ook ter wereld :P
Dus dan moet ik als host toch mijn IP opgeven zodat ze naar mijn pc verbinden. :)
 
Wel als je je server HOST op je pc gewoon localhost ook goed. Als je al je php files op je server zet en alles is goed ingesteld kan je ook localhost doen. Dus je ip is NIET nodig.

Groeten!
 
Het is belangrijk om te beseffen dat het niet de gebruiker is die verbinding maakt met je mySQL server. De enige die verbinding maakt is het PHP-script (oftewel, je Webserver)

De gebruiker stuurt zijn registratie verzoek naar je webserver, en die handelt het af voor je, en zal dus ook de verbinding maken en de data inputten.

Je kunt dus gewoon je webserver laten verbinden met Localhost (meestal staan database en webserver op dezelfde machine)
 
Het wordt anders als je www.domein.nl verbinding wilt laten maken met je lokale database (op je eigen computer). Dat kan wel, maar dan moet je de webserver expliciet toegang geven tot je database.

start -> execute -> cmd -> ping www.domein.nl

Dan zie je het ip-adres van de webserver, en die moet je toevoegen als toegestane host op je eigen computer/MySQL-server.
 
Ooohh! Ik dacht altijd dat de gebruiker die verbinding maakte, dus met zijn ip.
Maar ik heb dus me webserver niet op dezelfde PC staan, die word voor me gehost. :(
Heb nu dus het IP adres van me webserver, en die moet ik nu dus toegang geven tot MySQL, maar hoe doe ik dat?
Ik kan het binnen MySQL nergens vinden namelijk. Heb al nieuwe gebruiker aangemaakt, maar je kan daar nergens een IP aan koppelen. En dan nog een vraagje, mijn webserver staat dus niet op dezelfde PC dus dan MOET ik nu toch wel gewoon het IP adres van die PC als "host" geven in dat connection script?
En dan nog iets, als ik bij de MySQL server kijk zegt ie IP: 127.0.0.1 gewoon localhost dus. Kan ik die niet gewoon ergens veranderen? (kan ik ook nergens vinden :( )
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan