Kezdőoldal » Számítástechnika » Programozás » Mit rontottam el?

Mit rontottam el?

Figyelt kérdés

Sziasztok!

Nemrég neki láttam egy olyan kis funkciónak az oldalamhoz, amivel a felhasználóim a phpmyadmin-ra létrehozhatnak egy felhasználót amihez kap egy automatikus adatbázist ugyan azzal a névvel mint ami a felhasználóneve. És megkapja hozzá a jogokat.

Nos ezzel itt tartok:


<?php

$servername = "localhost";

$username = "root";

$password = "Itt a jelszavam van, csak nem szeretném megosztani a gyakorikérdéseken.";

$dbname = 'sans';


// Create connection

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection

if ($conn->connect_error) {

die("Connection failed: " . $conn->connect_error);

}


$pw = 'asdasd';

$username = 'felhasznalonev';


// Create database

$sql = "CREATE DATABASE ".$username."";

$sql1 = "CREATE USER '".$username."'@'%' IDENTIFIED BY '".$pw."'";

$sql2 = "grant all privileges on $username.* to $username@localhost";


if ($conn->query($sql) === TRUE) {

echo "0 = OK<br>";

} else {

echo "0 = SOS";

}


if ($conn->query($sql1) === TRUE) {

echo "1 = OK<br>";

} else {

echo "1 = SOS";

}


if ($conn->query($sql2) === TRUE) {

echo "2 = OK<br>";

} else {

echo "2 = SOS";

}


$conn->close();

?>


Az oldal a következőt jelzi:

0 = OK

1 = OK

2 = SOS


Tehát elvileg valamit ott ronthattam el.

Eredetileg ez szerepelt a $sql2 = után: GRANT ALL PRIVILEGES ON ".$username.".* TO '".$username."'@'%'

De ez sem sikerült.


(Röviden összefoglalva:

Létrehozza az adatbázist és a felhasználót ugyan azzal a névvel. Ez eddig teljesen rendben is van. Ám ha minden igaz a grant -ot kell YES-re átállítanom és akkor működne. Mert per pillanat az ezáltal létrehozott névvel és jelszóval képtelen vagyok belépni a fiókomba. Ha manuálisan állítom át a grant-ot YES-re, akkor sem.)


Megjegyzés: Még életemben nem csináltam ilyen phpmyadmin felhasználó hozzáadást, tehát lehet amit a grantról gondolok totálisan nagy baromság, ezért elnézést kérek.



#php #HTML #MySQL #phpMyAdmin #grant user #add user to mysql #add user to phpmyadmin #add a mysql database to phpmyadmin #felhasználói jogok beállítása #felhasználó hozzáadása
2018. febr. 5. 20:49
 1/1 Drone007 ***** válasza:

Elvileg így helyes:

GRANT ALL ON ".$username.".* TO '".$username."'@'%'


Szerintem a % jelet hagyhatod, ha már a felhasználó létrehozásánál azt használtad, de mindenképpen hasznos, ha távoli elérést is tervezel.


Lásd:

[link]

2018. febr. 6. 06:33
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!