Autor | Zpráva | ||
---|---|---|---|
titanwar Profil * |
#1 · Zasláno: 18. 12. 2010, 07:53:43
Nevíte někdo,jak udělat aby php vytvořilo v mysgl tabuku?
Skoušel jsem to takto,ale nešlo to: <?php $host = "mysql.ic.cz"; $user = "login"; $pass = "heslo"; $scores_db = "tabulka"; $connect=mysql_connect ($host,$user,$pass) or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db ($scores_db); $name=$_GET["name"]; $query = "SELECT name FROM prihlaseni WHERE name='".$_GET["name"]."'"; $res = mysql_query($query) or die("Couldn'ta execute $query: ".mysql_error()); if (mysql_num_rows($res)==0) { guery= "CREATE TABLE `".$_GET["name"]."` (" . ' `name` VARCHAR(250) CHARACTER SET latin2 COLLATE latin2_czech_cs NULL, ' . ' `heslo` VARCHAR(250) CHARACTER SET latin2 COLLATE latin2_czech_cs NULL' . ' )' . ' ENGINE = myisam;'; mysql_query($query) or die("Couldn'ta execute $query: ".mysql_error()); } else echo "eror"; mysql_close(); ?> Tabulka se ná vyvořit,pouze pokud už tabulka se stejným jménem není. |
||
jenikkozak Profil |
#2 · Zasláno: 18. 12. 2010, 08:06:47
titanwar:
„Skoušel jsem to takto,ale nešlo to:“ Když jsi to zkoušel, nenapsalo ti to třeba nějakou chybovou hlášku? Minimálně třeba tu, že na řádku 15 ti chybí znak dolaru před názvem proměnné? „$query = "SELECT name FROM prihlaseni WHERE name='".$_GET["name"]."'";“ Proč lovíš v databázi údaj, který znáš už před tím? Tu podmínku bych vyhodil a použil výraz: CREATE TABLE IF NOT EXISTS `$_GET["name"]` ( |
||
titanwar Profil * |
#3 · Zasláno: 18. 12. 2010, 09:03:50
skusil jsem to tahto,ale pořád to nefungue:
<?php $host = "mysql.ic.cz"; $user = "login"; $pass = "heslo"; $scores_db = "tabulka"; $connect=mysql_connect ($host,$user,$pass) or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db ($scores_db); $name=$_GET["name"]; $guery= 'CREATE TABLE IF NOT EXISTS `'.$_GET["name"].'` (' . ' `name` VARCHAR(250) CHARACTER SET latin2 COLLATE latin2_czech_cs NULL, ' . ' `heslo` VARCHAR(250) CHARACTER SET latin2 COLLATE latin2_czech_cs NULL' . ' )' . ' ENGINE = myisam;'; mysql_query($query) or die("Couldn'ta execute $query: ".mysql_error()); mysql_close(); ?> Háže mi to tuhle chybu: Query was empty |
||
jenikkozak Profil |
#4 · Zasláno: 18. 12. 2010, 09:51:40 · Upravil/a: jenikkozak
Spíš to napíše: „Couldn'ta execute : Query was empty“.
Mícháš proměnné query a guery. Devátý řádek máš zbytečně, vytvořenou proměnnou ani nepoužíváš. |
||
Cup Profil |
#5 · Zasláno: 18. 12. 2010, 11:02:27
a pokud k tomu přistupuješ z GETu tak to ošetřuj mysql_real_escape_string() než to hodíš do dotazu
|
||
jenikkozak Profil |
#6 · Zasláno: 18. 12. 2010, 11:48:09
Cup:
„a pokud k tomu přistupuješ z GETu tak to ošetřuj mysql_real_escape_string() než to hodíš do dotazu“ Ovšem jen v případě, že jsi takový hlupák, že dovolíš vytvářet nové tabulky všem, což nepředpokládám. Raději si nastav podmínky, kdo může novou tabulku vytvářet. |
||
Cup Profil |
#7 · Zasláno: 18. 12. 2010, 12:22:57 · Upravil/a: Cup
jenikkozak:
Myslím že je to úplně jedno, někde mu ulítne heslo nebo nějakej znalej bejvalej kamarád mu vleze do administrace, tak mu žádný podmínky, které jsou samozřejmostí, nepomůžou. Obecně všechny vstupy ošetřuji mysql_real_escape_string() |
||
Alphard Profil |
#8 · Zasláno: 18. 12. 2010, 12:33:34
titanwar:
Nechcete snad vytvořit tabulku pro každého uživatele. Pokud ano, radši se zeptejte, jak udělat registraci normálně. Když se dívám na váš kód, bude asi v každém případě lepší, když nám popíšete, o co se snažíte. |
||
titanwar Profil * |
#9 · Zasláno: 20. 12. 2010, 16:24:42
děkuji,už to fungue
|
||
Časová prodleva: 14 let
|
0