Ik kan via een script geen toegang krijgen tot de database die ik heb aangemaakt.

Maak ik echter toegang via de console dan krijg ik wel toegang met root, maar niet met een user die ik heb aangemaakt.

De output van het PHP script is Unable to connect to database[MySQL server has gone away]
En de hostnaam staat op localhost? Kun je de configurstie behalve password eens laten zien?
Ik zal dat dadelijk op je vraag ingaan.

Ik wil eerst nog even het volgende linkje delen http://codular.com/php-mysqli

ik heb de code uit deze zwarte vakken overgenomen en aangepast aan mijn database en tabellen, tot en met output query results
Is het niet zo dat je na je $db->close(); nog wat uit probeert te voeren?
Dit is mijn script. Ik weet niet niet of de code zo klopt. Het kan ook zijn dat ik bepaalde configuratie instellingen van mysql moet wijzigen?

Script:

<?php
$db = new mysqli('localhost:8080, user, password, databasenaam');
 
if ($db->connect_errno > 0){
    die('Unable to connect to database[' . $db->connect_error . ']');
}
 
$sql = <<<SQL
    SELECT *
    FROM 'tabel-naam'
SQL;
 
if(!$result = $db->query($sql)){
    die('There was an error running the query[' . $db->error . ']');
}
 
while($row = $result->fetch_assoc()){
    
    echo $row['Naam'] . '<br />';
}
 
?>
 
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>verbindt met database</title>
    </head>
    <body>
        
    </body>
</html>


.............................

[size=xsmall]Toevoeging op 30/01/2015 12:08:49:[/size]

Frank Nietbelangrijk op 30/01/2015 11:43:10

En de hostnaam staat op localhost? Kun je de configurstie behalve password eens laten zien?


Ik begrijp je vraag niet helemaal, de hostnaam is toch localhost?

Haal die :8080 eens weg. Op die poort draait MySQL normaliter ook niet.
op poort 80 draait bij mij IIS. Ik heb de conf aangepast en ServerName localhost op 8080 gezet.
Gebruik gewoon:


<?php
$db = new mysqli('localhost', 'user', 'password', 'databasenaam');
?>
- Aar - op 30/01/2015 13:30:29

Gebruik gewoon:


<?php
$db = new mysqli('localhost', 'user', 'password', 'databasenaam');
?>



Dat werkt dus niet.

Ik hoop dat je user, password en database wel vervangen hebt met jouw gegevens.
Of moet zijn dat je database 'database' heet, je user 'user', enz..


Maar omdat je in je originele post zegt dat je met user via de console geen toegang kreeg, zou ik de rechten (o.a. op SQL en op de database) ook maar eens nakijken.
Ehm.. Misschien moet je eerst even met gebruiker root proberen te verbinden dan.
Ik neem aan dat het PHP script op dezelfde machine draait als de mysql server? de mysql server draait standaard op poort 3306. maar Feitelijk hoef je die dan niet op te geven. Is het een eigen linux bakkie? zit de firewall soms de boel tegen te houden? Dat kun je simpel testen door deze tijdelijk uit te schakelen. Welke linux versie is het?

Reageren