Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Databaseverbinding mislukt ('host' onjuist)

Pagina: 1
Acties:

  • Montu
  • Registratie: Februari 2011
  • Laatst online: 27-11 20:57
Voor een opdracht op school moet ik via php een wverbinding leggen met de database die op het netwerk van mijn school staat (avans). Ik kom in de phpmyadmin applicatie als ik naar databases.aii.avans.nl ga. Dan weet ik mijn username en password ook.

Als ik de verbinding wil leggen, moet ik gebruik maken van de functie: mysql_connect(<host>, <username>, <password>). Zoals ik zei weet ik mijn username en password, maar ik weet niet wat ik in moet vullen bij host. Ik heb 'databases.aii.avans.nl' geprobeerd, maar dan krijg ik de error dat hij dat niet kent. Localhost werkt ook niet. Ik heb geen idee wat ik daar in moet vullen. Kunnen jullie mij helpen?

PC Specs


  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Vraag eens na bij systeembeheer of je leraar wat je daar in moet vullen, want wij kunnen de hostname en het poortnummer natuurlijk ook niet uit onze glazen bol trekken. :)

Sole survivor of the Chicxulub asteroid impact.


  • Viper®
  • Registratie: Februari 2001
  • Niet online
databases.aii.avans.nl zal de php admin site zijn welke draait op apache, de database machine zelf zal wel op een andere machine staan of dezelfde.

Doe eens een nslookup van databases.aii.avans.nl, dan krijg je het ip adres van de machine, je zou die kunnen proberen maar ik denk dat het niet de juiste is.

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 28-11 16:59

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Tja, ik gok dat het uitzoeken van dat stukje nu net onderdeel van je opdracht is... Vraag het je docent, als die geen antwoord wil geven zul je het toch echt zelf moeten proberen op te lossen.

Overigens weet ik niets van PHP, maar de uitleg van "mysql_connect" staat hier. Ik heb even naar de syntax gekeken en ik heb wel een vermoeden wat je niet goed doet...

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


  • thaan
  • Registratie: Oktober 2004
  • Laatst online: 29-11 23:57
databases.aii.avans.nl gaat hoogstwaarschijnlijk niet werken omdat de interne poort naar de MySQL server dicht staat, die zet je liever niet zomaar open. (standaard poort is overigens 3306).
Poort 3306 staat open op databases.aii.avans.nl maar dan weet je nog niet of dat wel de MySQL server is of alleen een webserver.

Daarnaast hoeft dat ook niet de mysql server te zijn, phpmyadmin kan ergens anders op draaien.

Je moet dus toch echt weten wat de mysql server is, anders kun je er geen verbinding mee maken.

Geef dan ook gelijk bij je leraar aan dat het gebruik van mysql_connect toch écht heel erg not done is. mysqli_connect is toch wel het minste wat je kan gebruiken.


Mysqli_* werkt (bijna) helemaal hetzelfde als mysql_* maar is niet deprecated en zwaar verouderd. Gewoon lekker mysqli_* gebruiken.

Even ter voorbeeld.
PHP:
1
2
3
    $mysqli = mysqli_connect($hostname, $username, $password, $database);
    mysqli_set_charset($mysqli, "utf8"); // Netjes om even de juiste charset te kiezen die je in je applicatie / DB gebruikt.
    $result_query = mysqli_query($mysqli, "SELECT * FROM x");

[ Voor 34% gewijzigd door thaan op 28-03-2014 15:45 ]


  • Montu
  • Registratie: Februari 2011
  • Laatst online: 27-11 20:57
Question Mark schreef op vrijdag 28 maart 2014 @ 15:35:
Tja, ik gok dat het uitzoeken van dat stukje nu net onderdeel van je opdracht is... Vraag het je docent, als die geen antwoord wil geven zul je het toch echt zelf moeten proberen op te lossen.

Overigens weet ik niets van PHP, maar de uitleg van "mysql_connect" staat hier. Ik heb even naar de syntax gekeken en ik heb wel een vermoeden wat je niet goed doet...
Doel je op de single quotes? Zoja, in code heb ik het wel gewoon met double quotes gedaan. Nee, dit uitzoeken was absoluut niet het doel van de opdracht. De opdracht is om een webwinkel te maken. Ik vind het raar dat de leraar hier ook niks over gezegd heeft.. Ik vraag me af of ik niet gewoon iets met localhost moet doen ofzo ;/

PC Specs


  • thaan
  • Registratie: Oktober 2004
  • Laatst online: 29-11 23:57
Jirachi schreef op vrijdag 28 maart 2014 @ 15:42:
[...]


Doel je op de single quotes? Zoja, in code heb ik het wel gewoon met double quotes gedaan. Nee, dit uitzoeken was absoluut niet het doel van de opdracht. De opdracht is om een webwinkel te maken. Ik vind het raar dat de leraar hier ook niks over gezegd heeft.. Ik vraag me af of ik niet gewoon iets met localhost moet doen ofzo ;/
Een webwinkel bouwen terwijl je nog niet met PHP om kan gaan? Dat is een flink stijle leercurve.

Single of double quotes maken in dit geval even niet uit.
Localhost kun je gebruiken als hostname als de mysql server op dezelfde server draait als je script.
Draait je script ook op databases.aii.avans.nl?

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 28-11 16:59

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Jirachi schreef op vrijdag 28 maart 2014 @ 15:42:
[...]
Doel je op de single quotes?
Het al dan niet meegeven van het poortnummer zou je eens kunnen testen.

Geef verder je volledige commando eens?
Jirachi schreef op vrijdag 28 maart 2014 @ 15:30:
Ik heb 'databases.aii.avans.nl' geprobeerd, maar dan krijg ik de error dat hij dat niet kent.
Wat is de exacte melding. Het commando wordt niet herkend, of de servernaam die je ingeeft?

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


  • borft
  • Registratie: Januari 2002
  • Laatst online: 29-11 21:06
in phpmyadmin kan je zien op welk adres de db server daadwerkelijk draait..... als je op het "huisje" klikt, en dan in de box rechts met als titel MySQL staat een kopje Server: met daarchter de hostname

  • Montu
  • Registratie: Februari 2011
  • Laatst online: 27-11 20:57
Databaseconnectie script:

<?php
$host = "databases.aii.avans.nl";
$username = "fg";
$password = "xxx";
$database = "fg_db";

mysql_connect($host, $username, $password);
mysql_select_db($database);

$link = mysql_connect($host, $username, $database)
or die("Kan niet verbinden: " . mysql_error());
?>

De error:
Warning: mysql_connect(): Access denied for user 'fg'@'student.aii.avans.nl' (using password: YES) in W:\Websites\ICT\fg\ws\ws\webshop\databaseconnectie.php on line 10
Kan niet verbinden:

PC Specs


  • Montu
  • Registratie: Februari 2011
  • Laatst online: 27-11 20:57
borft schreef op vrijdag 28 maart 2014 @ 15:55:
in phpmyadmin kan je zien op welk adres de db server daadwerkelijk draait..... als je op het "huisje" klikt, en dan in de box rechts met als titel MySQL staat een kopje Server: met daarchter de hostname
Oh, daar staat gewoon databases.aii.avans.nl

PC Specs


  • Xblast
  • Registratie: Mei 2005
  • Laatst online: 12-05 09:12
Misschien handig om niet je echte gegevens te gaan verspreiden ;)

  • borft
  • Registratie: Januari 2002
  • Laatst online: 29-11 21:06
dus dat is goed, volgens mij geeft de foutmelding aan dat je password verkeerd is!

btw, luister naar het advies van thaan, gebruik mysqli, bij voorkeur de object georienteerde interface en niet de procedurele! Verder, de or die() constructie kan wat mij betreft ook echt niet meer ;)

  • borft
  • Registratie: Januari 2002
  • Laatst online: 29-11 21:06
Xblast schreef op vrijdag 28 maart 2014 @ 15:58:
Misschien handig om niet je echte gegevens te gaan verspreiden ;)
haha, maar het wachtwoord is toch verkeerd :P

  • Linke Loe
  • Registratie: Augustus 1999
  • Laatst online: 28-11 07:57
Jirachi schreef op vrijdag 28 maart 2014 @ 15:56:
Databaseconnectie script:

<?php
$host = "databases.aii.avans.nl";
$username = "farmgend";
$password = "xxx";
$database = "farmgend_db";

mysql_connect($host, $username, $password);
mysql_select_db($database);

$link = mysql_connect($host, $username, $database)
or die("Kan niet verbinden: " . mysql_error());
?>

De error:
Warning: mysql_connect(): Access denied for user 'farmgend'@'student.aii.avans.nl' (using password: YES) in W:\Websites\ICT\farmgend\ws\ws\webshop\databaseconnectie.php on line 10
Kan niet verbinden:
Access denied, dus. Lijkt me duidelijk...

  • Japius
  • Registratie: April 2003
  • Laatst online: 29-11 16:08
borft schreef op vrijdag 28 maart 2014 @ 15:59:
[...]


haha, maar het wachtwoord is toch verkeerd :P
Nee dat is het niet. Ik kon succesvol inloggen. Wil je a.u.b. je credentials verwijderen?

[ Voor 0% gewijzigd door Japius op 28-03-2014 16:01 . Reden: typo ]


  • royb3
  • Registratie: November 2011
  • Laatst online: 12-09-2024
Via phpmyadmin zul je waarschijnlijk een gebruiker moeten maken en deze de rechten tot een tabel moeten geven. En als host voor die gebruiker kun je % gebruiken. dan kan je er vanaf overal bij. Maar als de gebruiker op dezelfde server draait, dan kun je ook localhost gebruiken.

  • Xblast
  • Registratie: Mei 2005
  • Laatst online: 12-05 09:12
borft schreef op vrijdag 28 maart 2014 @ 15:59:
[...]


haha, maar het wachtwoord is toch verkeerd :P
Nu is hij verkeerd ja. ;)

  • donald_dick
  • Registratie: November 2001
  • Laatst online: 11:11
borft schreef op vrijdag 28 maart 2014 @ 15:59:
[...]


haha, maar het wachtwoord is toch verkeerd :P
Leuke bierdb heb je

wie de bal kaatst, kan hem gekorrigeert terug verwachten


  • Montu
  • Registratie: Februari 2011
  • Laatst online: 27-11 20:57
Ik ben weer handig bezig zie ik >.>

PC Specs


  • Linke Loe
  • Registratie: Augustus 1999
  • Laatst online: 28-11 07:57
Misschien toch even het wachtwoord voor farmgend wijzigen... ik kan nog steeds inloggen met het wachtwoord wat er eerst stond...

  • Montu
  • Registratie: Februari 2011
  • Laatst online: 27-11 20:57
En nu?

PC Specs


  • mpijnen
  • Registratie: Juli 2011
  • Laatst online: 10-01-2023
bij het aanmaken van een gebruiker in MySQL kun je aangeven welke hosts er toegang tot hebben. Wellicht is dit ingesteld op localhost, en niet op externe gebruikers. Dit staat vaak niet standaard aan namelijk....

  • donald_dick
  • Registratie: November 2001
  • Laatst online: 11:11
Jup, hij is nu dicht

wie de bal kaatst, kan hem gekorrigeert terug verwachten


  • Linke Loe
  • Registratie: Augustus 1999
  • Laatst online: 28-11 07:57

  • Montu
  • Registratie: Februari 2011
  • Laatst online: 27-11 20:57
Als ik deze twee regels weghaal: $link = mysql_connect($host, $username, $database)
or die("Kan niet verbinden: " . mysql_error());

krijg ik alleen nog maar deze warning:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in W:\Websites\ICT\farmgend\ws\ws\webshop\index.php on line 26

EDIT: ohh maar dat is volgens mij logisch te verklaren. Ik zit in de verkeerde database, waardoor de querie niet werkt.

[ Voor 16% gewijzigd door Montu op 28-03-2014 16:11 ]

PC Specs


  • thaan
  • Registratie: Oktober 2004
  • Laatst online: 29-11 23:57
Probeer dit eens.
PHP:
1
2
3
4
5
6
7
8
9
10
<?php
$host = "localhost";
$username = "fg";
$password = "xxx";
$database = "fg_db";


$link = mysqli_connect($host, $username, $password, $database) 
or die("Kan niet verbinden: " . mysqli_error($link)); 
?>

[ Voor 5% gewijzigd door thaan op 28-03-2014 16:12 ]


  • Montu
  • Registratie: Februari 2011
  • Laatst online: 27-11 20:57
thaan schreef op vrijdag 28 maart 2014 @ 16:12:
Probeer dit eens.
PHP:
1
2
3
4
5
6
7
8
9
10
<?php
$host = "localhost";
$username = "fg";
$password = "xxx";
$database = "fg_db";


$link = mysqli_connect($host, $username, $password, $database) 
or die("Kan niet verbinden: " . mysqli_error($link)); 
?>
Warning: mysql_query(): No connection could be made because the target machine actively refused it. in W:\Websites\ICT\farmgend\ws\ws\webshop\index.php on line 21

Warning: mysql_query(): A link to the server could not be established in W:\Websites\ICT\farmgend\ws\ws\webshop\index.php on line 21

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in W:\Websites\ICT\farmgend\ws\ws\webshop\index.php on line 26

PC Specs


  • Linke Loe
  • Registratie: Augustus 1999
  • Laatst online: 28-11 07:57
Er zal waarschijnlijk geen MySQL op localhost draaien... Uit de access denied melding kun je namelijk opmaken dat je in probeert te loggen als user 'fg' op de host 'student.aii.avans.nl'. Het lijkt er dus op dat deze user geen rechten heeft om een connectie te maken naar 'databases.aii.avans.nl' vanaf 'student.aii.avans.nl'.

Zoals al eerder geopperd, zul je bij het aanmaken van een user in MySQL op moeten geven vanaf welke hosts deze user een verbinding mag maken, waarbij % als wildcard dient...

  • Montu
  • Registratie: Februari 2011
  • Laatst online: 27-11 20:57
Jaaaaaaaaa hij doet het ... !!

Ik heb geen idee waarom hij het nu wel doet, en in eerste instantie niet.

PC Specs


  • Biersteker
  • Registratie: Juni 2009
  • Laatst online: 29-11 12:57
of
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

$host ="localhost";
$user = "fg";
$password = "xxx";
$database = "fg_db";

$con = new mysqli($host, $user, $password, $database);
if ($con->connect_errno) {
    die('SQLError (' . $con->connect_errno . ') '
            . $con->connect_error);
}   
//Want 
$result = $con->query("SELECT * FROM `iets`") ;
//Is handig.
?>

[ Voor 11% gewijzigd door Biersteker op 28-03-2014 16:53 ]

Originally, a hacker was someone who makes furniture with an axe.

Pagina: 1