abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:33 | Nová verze

    Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.

    Ladislav Hagara | Komentářů: 1
    včera 14:33 | Nová verze

    Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Upozornění

    CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.

    Ladislav Hagara | Komentářů: 8
    včera 13:44 | Pozvánky

    Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.

    Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »
    bkralik | Komentářů: 0
    včera 04:44 | Zajímavý software

    Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.

    Ladislav Hagara | Komentářů: 1
    včera 02:00 | IT novinky

    Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    9.6. 21:44 | IT novinky

    Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …

    Ladislav Hagara | Komentářů: 2
    9.6. 20:44 | Komunita

    Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.

    Ladislav Hagara | Komentářů: 0
    9.6. 19:11 | Nová verze

    Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    9.6. 12:55 | IT novinky

    DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.

    Ladislav Hagara | Komentářů: 20
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 242 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Vytvoření mysql uživatele pomocí php

    4.9.2010 14:21 caszo
    Vytvoření mysql uživatele pomocí php
    Přečteno: 1031×

    Zdravím, snažím se pomocí PHP vytvořit v mysql uživatele (mám normálně rootovská práva)...

    Zkoušel jsem toto:

    $sql = 'CREATE USER \''.$login.'\'@\'localhost\' IDENTIFIED BY \''.$pass.'\';GRANT USAGE ON *.* TO \''.$login.'\'@\'localhost\' IDENTIFIED BY \''.$pass.'\'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `'.$login.'`;GRANT ALL PRIVILEGES ON `'.$login.'`.* TO \''.$login.'\'@\'localhost\';';

    Systém mi vyhodil že přidáno ale ani po obnově oprávnění v mysql uživatele nenajdu.... Díky za rady


    Řešení dotazu:


    Odpovědi

    Jendа avatar 4.9.2010 14:32 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Nedělá se tam ještě nějaké přídavné escapování, když dotaz databázi pokládáš?
    Jendа avatar 4.9.2010 14:34 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Respektive jestli mysql_query($sql); vrátí 1 a pokud ne, tak si vypiš výstup funkce mysql_error();.
    4.9.2010 14:47 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php

    http://temp.centrumpc.net/fc.txt po zavolání fce se mi nic nevypíše (kromě echa sql a to je:

    CREATE USER 'test'@'localhost' IDENTIFIED BY 'heslo123';GRANT USAGE ON *.* TO 'test'@'localhost' IDENTIFIED BY 'heslo123'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `test`;GRANT ALL PRIVILEGES ON `test`.* TO 'test'@'localhost';

    4.9.2010 15:22 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    mysql_error(); mi vrací: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GRANT USAGE ON *.* TO 'aa'@'localhost' IDENTIFIED BY 'aa'WITH MAX_QUERIES_PER_HO' at line 1
    4.9.2010 16:35 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php

    IDENTIFIED BY 'aa'WITH MAX_QUERIES_PER_HO'
    Nechybi mezi 'aa' a WITH mezera? (tedy IDENTIFIED BY \''.$pass.'\'<tady>Chybejici_mezera</tady>WITH MAX_QUERIES_PER_HOUR 0)

    Dejv

    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    4.9.2010 21:59 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Nene, nepomohlo... :(
    4.9.2010 22:20 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php

    Pak uz me napada jedine jestli neni problem v tech "dvou hvezdickach". Misto

    GRANT USAGE ON *.* TO \''.$login...
    pouzit
    GRANT USAGE ON * TO \''.$login...

    Dejv

    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    5.9.2010 00:50 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    taky nic ... :o(
    Jendа avatar 5.9.2010 00:52 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    A když ten SQL příkaz spustíš pomocí phpMyAdmina (máš-li) nebo řádkového MySQL klienta, tak to funguje?
    5.9.2010 12:06 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php

    Váš SQL-dotaz byl úspěšně vykonán

    CREATE USER 'aa'@'localhost' IDENTIFIED BY 'aa';# MySQL vrátil prázdný výsledek (tj. nulový počet řádků).
    GRANT USAGE ON * . * TO 'aa'@'localhost' IDENTIFIED BY 'aa' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;# MySQL vrátil prázdný výsledek (tj. nulový počet řádků).
    CREATE DATABASE IF NOT EXISTS `aa` ;# Ovlivněné řádky: 1
    GRANT ALL PRIVILEGES ON `aa` . * TO 'aa'@'localhost';# MySQL vrátil prázdný výsledek (tj. nulový počet řádků).

    SQL kod (v php nejde):

    CREATE USER 'aa'@'localhost' IDENTIFIED BY 'aa';GRANT USAGE ON *.* TO 'aa'@'localhost' IDENTIFIED BY 'aa' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `aa`;GRANT ALL PRIVILEGES ON `aa`.* TO 'aa'@'localhost';

    Jendа avatar 5.9.2010 12:10 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Takže
    if (mysql_query("CREATE USER 'aa'@'localhost' IDENTIFIED BY 'aa';GRANT USAGE ON *.* TO 'aa'@'localhost' IDENTIFIED BY 'aa' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `aa`;GRANT ALL PRIVILEGES ON `aa`.* TO 'aa'@'localhost';")) {
       echo ok;
    }
    napíše OK a databáze se nevytvoří? Zkusil bych se podívat na takové ty triviální chyby jako jestli se v tom skriptu připojuješ ke správnému databázovému stroji a tak :-).
    5.9.2010 12:14 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php

    function addmysqluser($user,$login,$pass)
    {
    $sql = 'CREATE USER \''.$login.'\'@\'localhost\' IDENTIFIED BY \''.$pass.'\';GRANT USAGE ON *.* TO \''.$login.'\'@\'localhost\' IDENTIFIED BY \''.$pass.'\' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `'.$login.'`;GRANT ALL PRIVILEGES ON `'.$login.'`.* TO \''.$login.'\'@\'localhost\';';
    $akce = mysql_query($sql);
    if($akce) echo "<div class=\"ok\"> <img src=\"data/im/ok.png\" alt=\"\" /> Podařilo se mi uživatele úspěšně přidat! Vytvátím DB...</div>";
    else echo mysql_error();            
    echo "<br /><br />";
    echo $sql;
    }

    Jendа avatar 5.9.2010 12:19 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Spíš jestli bys to mohl spustit bez těch proměnných, s natvrdo zadanými údaji. Třeba máš zapnutou nějakou hrůzu typu magic_quotes.
    5.9.2010 12:30 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    zkusil sem to os mi poslal výš a ok se nevyíše... takže stejná chyba
    5.9.2010 12:31 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    může to být tím že už mám vybranou DB ve spojení?
    4.9.2010 14:37 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Co tím máš na mysli?
    5.9.2010 13:55 xHire | skóre: 21 | blog: Linuxovník
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Nevím, zda to může mít vliv, ale PHPčková mysql_query vykonává pouze jeden SQL dotaz, takže ten velký uvedený dotaz bych rozdělil na 4 samostatné. Mám ten dojem, že i phpMyAdmin to tak dělá.

    Také ve mě zrovna nebudí důvěru nastavování hesla v GRANT příkazu. To tam podle mě vůbec nepatří, a to nejen vzhledem k logice věci, že to heslo už uživatel nastavené má.
    Kryptoměny a bločenka.
    Tarmaq avatar 6.9.2010 14:47 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Presne to same me taky napadlo, mela by to byt ochrana pred SQL Injection.
    mysql_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier.
    viz. dokumentace
    Don't panic!
    6.9.2010 15:09 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Jes, díky! :)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.