Autor | Zpráva | ||
---|---|---|---|
martin5504 Profil |
#1 · Zasláno: 11. 8. 2013, 11:19:34
Dobrý deň, urobil som si malý script ktorý mi vytváral databázu avšak potreboval som aby vytvorilo tu DB, ale aj aby zapisalo nieco do jednej tabuľky, snažil som sa takto, ale tvorba DB ide no do tabuľky sa nič nevloží. V čom prosím vás robím chybu?
Vopred ďakujem. <?php $db = $_POST['db']; $uziv = $_POST['uziv']; $heslo = $_POST['heslo']; $user = $_POST['user']; mysql_connect('localhost','root','test','test'); mysql_query("create database $db"); mysql_query("GRANT ALL PRIVILEGES ON $db.* TO '$uziv'@'%' IDENTIFIED BY '$heslo' WITH GRANT OPTION;"); mysql_query("INSERT INTO db (id, user, nazov, db, heslo) VALUES ('','$user','$uziv','$db','$heslo')"); mysql_close(); echo "Uspesne" ?> |
||
Alphard Profil |
#2 · Zasláno: 11. 8. 2013, 11:27:42
A existuje tabulka db? Funkci mysql_connect() dáváte chybný 4. parametr.
|
||
martin5504 Profil |
#3 · Zasláno: 11. 8. 2013, 11:30:24
Tabuľka existuje, ako myslíte chybný parameter? Veď DB mi vytvorí keby bola chyba už tam tak by mi ani db nevytvorilo či?
|
||
Adam16 Profil |
#4 · Zasláno: 11. 8. 2013, 11:37:48
prečo použivaš
mysql a nie mysqli . a napajaš sa na DB s meno test a heslo test hej ?
|
||
martin5504 Profil |
Údaje mám zmenené na správne, nechcel som ich sem písať. Skúsim teda ešte z mysqli.
DOPLNOK: Ak idem cez mysqli, tak ani nevytvorí DB. [Sun Aug 11 05:46:44 2013] [error] [client 62.197.196**] PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in /var/www/*****/admin/db_add.php on line 9, referer: http://217.16.176.210/*****/admin/sprava_db_add.php?id=1 [Sun Aug 11 05:46:44 2013] [error] [client 62.197.196] PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in /var/www/*****/admin/db_add.php on line 10, referer: http://217.16.176.210/*****/admin/sprava_db_add.php?id=1 [Sun Aug 11 05:46:44 2013] [error] [client 62.197.196] PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in /var/www/*****/admin/db_add.php on line 11, referer: http://217.16.176.210/*****/admin/sprava_db_add.php?id=1 [Sun Aug 11 05:46:44 2013] [error] [client 62.197.196] PHP Warning: mysqli_close() expects exactly 1 parameter, 0 given in /var/www/*****/admin/db_add.php on line 12, referer: http://217.16.176.210/******/admin/sprava_db_add.php?id=1 |
||
Adam16 Profil |
#6 · Zasláno: 11. 8. 2013, 11:48:24 · Upravil/a: Adam16
martin5504:
to ze tam maš mysql a nie mysqli tak to by nemala byt chyba... ja som sa len pytal prečo pouzivas mysql ... pravdepodobne ide ten connectaspon vidiš kolko tam maš chyb... |
||
martin5504 Profil |
Jaj tak, tak čo to môže spôsobovať? Ak používam mysql tak mám všetko bez chýb.
|
||
Adam16 Profil |
#8 · Zasláno: 11. 8. 2013, 11:52:47
martin5504:
najprv skus prepisat myslq na mysqli ale stači ak to spraviš iba v db_add.php a potom vyskušaj
|
||
martin5504 Profil |
mysqli_connect('localhost','root','test','test'); mysqli_query("create database $db"); mysqli_query("GRANT ALL PRIVILEGES ON $db.* TO '$uziv'@'%' IDENTIFIED BY '$heslo' WITH GRANT OPTION;"); mysqli_query("INSERT INTO db (id, user, nazov, db, heslo) VALUES ('','$user','$uziv','$db','$heslo')"); mysqli_close(); Skúšal som to takto, ale vtedy boli errory a nefungovalo to. |
||
Adam16 Profil |
3. riadok...
mysqil ale mysqli
|
||
martin5504 Profil |
#11 · Zasláno: 11. 8. 2013, 11:56:15
Áno mal som to tak, to som len zle napísal tu.
|
||
Adam16 Profil |
#12 · Zasláno: 11. 8. 2013, 12:00:14
no a čo ty vlastne chces aby sa vytvorila DB ale tabulka v DB ?
|
||
Monkeys Profil * |
#13 · Zasláno: 11. 8. 2013, 12:00:26 · Upravil/a: Monkeys
martin5504:
Pretoze pri mysqli (OOP) treba vytvorit instanciu objektu. asi takto: $connection = new mysqli(host, usser, pass, db_name); $sql = "INSERT INTO db (id, user, nazov, db, heslo) VALUES ('','$user','$uziv','$db','$heslo')"; $connection->query( $sql ); opravujem INSERT som si to nevsimol. $sql = "INSERT INTO tabulka (stlpce) VALUES (hodnoty)"; M. |
||
Adam16 Profil |
#14 · Zasláno: 11. 8. 2013, 12:03:04
Monkeys:
ale on nechce vkladat udaje do DB ako su id, user, db, a heslo ale on chce pravdepodobne vytvorit DB |
||
Alphard Profil |
#15 · Zasláno: 11. 8. 2013, 12:11:42
martin5504:
„ako myslíte chybný parameter?“ Odkázal jsem manuál, když vás někdo upozorní na špatný parametr, právě tam byste se měl podívat. 4. parametr u mysql_connect() není string. Co je test ? Jestli název databáze, měla být použitá mysql_select_db().
Nicméně kolegové vás již vedou na použití mysqli, což je do budoucna jistě výhoda. |
||
pcmanik Profil |
#16 · Zasláno: 11. 8. 2013, 13:48:04
Monkeys:
Nemusí vytvoriť inštanciu, mysqli podporuje aj procedurálne rozhranie. martin5504: Tie chyby si nevieš preložiť? Mysqli funkcie očakávajú dva parametre a ty im dávaš len jeden. |
||
Micruss Profil |
#17 · Zasláno: 11. 8. 2013, 15:10:23
martin5504:
pokud používáš MySQLi tak musíš do mysqli_query(); dát i odkaz na připojení k db takže by to vypadalo asi takto $dbconn = mysqli_connect("localhost", "test", "test", "databáze"); $dotaz = mysqli_query($dbconn, "SQL DOTAZ"); |
||
martin5504 Profil |
Obi dve sú rozdielnie veci, jedna funkcia mi vytvára DB a druhá do ROOTovej DB a tabuľky dáva údaje.
EDIT : Šlape to! Díki moc |
||
Časová prodleva: 11 let
|
0