mysql_list_dbs alternatief voor mysqli

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johnny Reinders

Johnny Reinders

16/09/2013 16:53:56
Quote Anchor link
Daar ben ik weer,

Nadat de gebruiker is ingelogd wou ik graag de databases laten zien met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
mysql_list_dbs()

maar dit werkt helaas niet voor mysqli kwam ik achter, Kan iemand mij uitleggen hoe ik dit kan doen doormiddel van queries? Ik zou de namen graag onder elkaar hebben dan. Ik kan alleen engelse sites vinden hierover, en dat begrijp ik tot zover maar kan iemand het mij hier duidelijker uitleggen hoe ik dit kan doen?

Bedankt
 
PHP hulp

PHP hulp

18/05/2024 14:48:05
 
Ward van der Put
Moderator

Ward van der Put

16/09/2013 17:10:19
Quote Anchor link
Dat is een query met SHOW DATABASES.

De MySQL-account moet daarvoor echter wel voldoende rechten hebben.
 
Johnny Reinders

Johnny Reinders

16/09/2013 17:32:31
Quote Anchor link
Het is me nu door meerdere dingen van de documentatie bij elkaar te voegen gelukt om dit op me scherm te krijgen:
Quote:
Array ( [Database] => information_schema )
Array ( [Database] => cdcol )
Array ( [Database] => dit is de server )
Array ( [Database] => johnny )
Array ( [Database] => mysql )
Array ( [Database] => performance_schema )
Array ( [Database] => phpmyadmin )
Array ( [Database] => test )


daarvoor heb ik nu deze code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
        $connect = @mysqli_connect($_POST["dbhost"], $_POST["dbuser"], $_POST["dbpass"]);
        $connect_errno = mysqli_connect_errno();

        if ($connect)
        {
        $result = mysqli_query($connect, 'show databases');
        $row = mysqli_fetch_row($result);
        foreach ($result as $row)
        {        
        print_r($row);
        echo "<BR>";
        }        
        }


maar hoe haal ik dat "Array ( [Database]" er voor weg en kan ik dat vervangen door een opsommings teken?

de rechten zijn dus blijkbaar zover dat ik de databases kan zien maar hoe maak ik er een mooi lijstje van?
 
- SanThe -

- SanThe -

16/09/2013 18:04:29
Quote Anchor link
Geen print_r() gebruiken.
En wat is het nut van regel 7?
 
- Ariën  -
Beheerder

- Ariën -

16/09/2013 18:24:28
Quote Anchor link
Waarom niet meteen een while uitvoeren?
 
Ward van der Put
Moderator

Ward van der Put

17/09/2013 07:30:11
Quote Anchor link
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
16
17
18
19
<?php
$mysqli
= new mysqli('localhost', 'root', '');
if ($result = $mysqli->query('SHOW DATABASES')) {
    $databases = array();
    while ($row = $result->fetch_array()) {
        $databases[] = $row[0];
    }
}


// Alfabetisch gesorteerd lijstje met gevonden databases
if (isset($databases)) {
    sort($databases);
    echo '<ul>';
    foreach ($databases as $database) {
        echo '<li>', $database, '</li>';
    }

    echo '</ul>';
}

?>
 
Johnny Reinders

Johnny Reinders

17/09/2013 22:01:46
Quote Anchor link
Ward, bedankt dit is precies wat ik zocht. Aar, wat is het verschil met als ik het in while zou hebben gedaan? Santhe, ik had het ergens gezien en het werkte, weet ook niet waarom :p
 



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.