SQL Show databases laat niet alle databases zien, terwijl ik ingelogd ben als root

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen van Rensen

Jeroen van Rensen

25/09/2020 16:04:42
Quote Anchor link
Hallo allemaal,

Als ik deze code run met PHP:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

$mysqli
= new mysqli('localhost', 'root', 'password');

if ($mysqli->connect_errno) {
    trigger_error('query failed: ' . $mysqli->connect_error, E_USER_ERROR);
}


$result = $mysqli->query('SHOW databases')
    or trigger_error('connect failed: ' . join(',', $mysqli->error_list), E_USER_ERROR);

foreach ($result as $row) {
    echo join(', ', $row), "<br />\r\n";
}

?>


Dan krijg ik een lijst met databases. Maar een database met de naam latijn staat er niet bij, terwijl ik het wel zie in phpMyAdmin.

Na een beetje zoeken vond ik dat de reden kon zijn dat ik niet ingelogd ben als root, maar dat ben ik wel.

Dus, weet iemand wat ik hieraan kan doen?

Bedankt! Jeroen
Gewijzigd op 25/09/2020 16:21:27 door - Ariën -
 
PHP hulp

PHP hulp

08/05/2021 15:05:03
 
- Ariën -
Beheerder

- Ariën -

25/09/2020 16:23:15
Quote Anchor link
In PMA kan je toch gewoon zien welke query er uitgevoerd wordt om je resultaat te zien?

Ik denk eerder dat je eens hoofdletters moet gebruiken, en dat PMA dit automatisch doet?
 
Jeroen van Rensen

Jeroen van Rensen

25/09/2020 16:26:26
Quote Anchor link
Hallo, ik heb
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SHOW databases
veranderd naar
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SHOW DATABASES
maar dit werkt niet. Het resultaat is precies hetzelfde.
Gewijzigd op 25/09/2020 16:26:49 door Jeroen van Rensen
 
- Ariën -
Beheerder

- Ariën -

25/09/2020 16:30:53
Quote Anchor link
Dan moet je even kijken wat PMA precies uitvoert.
Ik vind het wel heel frappant, en vooral omdat je root bent.
Ik zou zelf denken aan een beschadigde database die je misschien even moet controleren en eventuele repareren?
Gewijzigd op 25/09/2020 16:31:41 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

25/09/2020 19:44:54
Quote Anchor link
Of wellicht, en mogelijk ook waarschijnlijker, ben je met twee verschillende database-servers aan het communiceren.

Maken het PHP-script en phpMyAdmin wel verbinding met dezelfde database-server?

EDIT: je zou bijvoorbeeld een simpele test kunnen uitvoeren door in een tabel een record toe te voegen die in beide databases te zien zouden moeten zijn. En dat kun je dan in beide varianten proberen. Als na afloop beide tabellen niet dezelfde records hebben is de kans groot dat je gewoon met twee verschillende database-servers aan het praten bent.
Gewijzigd op 25/09/2020 20:02:38 door Thomas van den Heuvel
 
Ivo P

Ivo P

27/09/2020 16:24:51
Quote Anchor link
en is het dezelfde user "root"?

root@localhost hoeft niet dezelfde rechten te hebben als root@127.0.0.1 of ander ip adres
 
Ward van der Put
Moderator

Ward van der Put

28/09/2020 07:31:37
Quote Anchor link
Je zou eens kunnen controleren welke gebruikers er per host zijn geregistreerd in beide omgevingen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT Host, User FROM mysql.user
 
Thomas van den Heuvel

Thomas van den Heuvel

28/09/2020 16:21:38
Quote Anchor link
En misschien kan de topicstarter wat meer toelichting geven over de opstelling die hij gebruikt. Was het niet zo dat sommige pakketten tegelijkertijd MySQL en MariaDB (via verschillende poorten) aanbieden?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.