BF Summer sales
Pouze tento týden sleva až 80 % na HTML & CSS a JavaScript
80 % bodů zdarma na online výuku díky naší Letní akci!

Lekce 1 - MySQL krok za krokem: Úvod do MySQL a příprava prostředí

Vítejte u první lekci kurzu k databázi MySQL. Kurz je určen pro všechny, co se ještě s databázemi nesetkali a potřebují s nimi pracovat v dalším jazyce (např. v PHP na webu nebo v Javě v desktopové aplikaci). Smyslem je naučit vás základy jazyka SQL, které jsou podobné ve všech SQL databázích (MySQL, MS-SQL, SQLite...). Postupně si ukážeme vytváření tabulek, vkládání dat, jejich modifikaci a nakonec i výběr, vyhledávání a komplikovanější dotazy přes více tabulek.

Pracovat budeme pouze se samotnou databází a bez dalšího programovacího jazyka. Nebude to ale tak suché, jak to zní, protože budeme používat grafické rozhraní phpMyAdmin. Ukážeme si, jak věci naklikat (ty které jdou) a jak to samé zapsat i jako SQL dotaz. Z grafického rozhraní hezky pochopíte co přesně děláte a poté si to spojíte s SQL příkazem. Nabyté znalosti můžete využít v kterémkoli jazyce pro práci s MySQL databází (např. v PHP) a s minimální úpravou i s kteroukoli jinou SQL databází. Po dokončení tohoto seriálu budete schopni pracovat s databází na takové úrovni, abyste dokázali vytvořit jednoduchý redadakční systém nebo podobnou aplikaci.

Relační databáze

MySQL je tzv. relační databáze. Tento pojem označuje databázi založenou na tabulkách. Každá tabulka obsahuje položky jednoho typu. Můžeme mít tedy tabulku uzivatele, další tabulku clanky a další třeba komentare.

Databázovou tabulku si můžeme představit třeba jako tabulku v Excelu. Tabulka uzivatele by mohla vypadat asi takto:

Tabulka uživatelů v Excelu

Položky (konkrétně zde uživatelé) ukládáme na jednotlivé řádky, sloupce pak označují atributy (vlastnosti, chcete-li), které položky mají. MySQL databáze je typovaná, to znamená, že každý sloupec má pevně stanovený datový typ (číslo, znak, krátký text, dlouhý text...) a může obsahovat hodnoty jen tohoto typu. Pokud chceme s relační databází rozumně pracovat, každý řádek v tabulce by měl být opatřený unikátním identifikátorem. U uživatelů by to mohlo být třeba rodné číslo, mnohem častěji se však používají identifikátory umělé a to tak, že uživatele prostě očíslujeme. K tomu se dostaneme později.

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Slovo relační označuje vztah (anglicky relation). Ten je mezi tabulkami nebo mezi entitami v jedné tabulce. To si ale necháme na jindy a zatím budeme pracovat jen s jednou tabulkou zároveň.

RDBMS

Možná vás napadlo, k čemu vlastně potřebujeme nějakou databázi. Data bychom stejně dobře mohli ukládat do nějakých textových souborů, binárek, XML nebo něčeho podobného. Určitě by to nějak fungovalo, nebo ne?

Označení databáze je vlastně nepřesné a v odborné literatuře se setkáme s označením RDBMS (Relation DataBase Management System). Česky je to přeloženo jako "systém řízení báze dat", což zní opravdu hrozně a proto budu dále používat označení databázový stroj nebo RDBMS. Databázový stroj (tedy zde MySQL) není jen úložiště dat. Jedná se o velmi sofistikovaný a odladěný nástroj, který za nás řeší spoustu problémů a zároveň je extrémně jednoduchý k použití. S databází totiž komunikujeme jazykem SQL, kterým jsou v podstatě lidsky srozumitelné věty. Spolu s ukládáním dat je ale třeba dále řešit mnoho dalších věcí. Asi by nás napadlo např. zabezpečení nebo optimalizace výkonu. RDBMS toho ale dělá ještě mnohem více, řeší za nás problém současné editace stejné položky několika uživateli ve stejný okamžik, který by jinak mohl zapříčinit nekonzistenci databáze. RDBMS data v tomto případě zamkne a odemkne až po vykonání zápisu. Dále umožňuje spojovat několik dotazů do transakcí, kdy se série dotazů vykoná vždy celá nebo vůbec. Nestane se, že by se vykonala jen část. Tyto vlastnosti databázového stroje jsou shrnovány zkratkou ACID, pojďme si ji vysvětlit.

ACID

ACID je akronym slov Atomicity (nedělitelnost), Consistency (validita), Isolation (izolace) a Durability (trvanlivost). Jednotlivé složky mají následující význam:

  • Atomicity - Operace v transakci se provedou jako jedna atomická (nedělitelná) operace. Tzn. že pokud nějaká část operace selže, vrátí se databáze do původního stavu a žádné části transakce nebudou provedeny. Reálný příklad je např. převod peněz na bankovním účtu. Pokud se nepodaří peníze odečíst z jednoho účtu, nebudou ani připsány na účet druhý. Jinak by byla databáze v nekonzistentním stavu. Pokud bychom si práci s daty řešili sami, mohlo by se nám toto velmi jednoduše stát.
  • Consistency - Stav databáze po dokončení transakce je vždy konzistentní, tedy validní podle všech definovaných pravidel a omezení. Nikdy nenastane situace, že by se databáze nacházela v nekonzistentním stavu.
  • Isolation - Operace jsou izolované a navzájem se neovlivňují. Pokud se sejde v jeden okamžik více dotazů na zápis do stejného řádku, jsou vykonávány postupně, jako ve frontě.
  • Durability - Všechna zapsaná data jsou okamžitě zapsána na trvanlivá úložiště (na pevný disk), v případě výpadku el. energie nebo jiného přerušení provozu RDBMS vše zůstane tak, jak bylo těsně před výpadkem.

Databáze (přesněji databázový stroj) je tedy černá skříňka, se kterou naše aplikace komunikuje a do které ukládá veškerá data. Její použití je velmi jednoduché a je odladěna tak, jak bychom si sami zápis dat v programu asi těžko udělali. Vůbec se nemusíme starat o to, jak jsou data fyzicky uložena, s databází komunikujeme pomocí jednoduchého dotazovacího jazyka SQL, viz dále. V dnešní době se vůbec nevyplatí zatěžovat se otázkou ukládání dat, jednoduše sáhneme po hotové databázi, kterých je obrovský výběr a jsou většinou zadarmo. O databázi občas hovoříme jako o 3. vrstvě aplikace (1. vrstva je uživatelské rozhraní, 2. vlastní logika aplikace, 3. je právě datová vrstva).

Potřebné nástroje

Začněme tedy. Potřebovat budeme nakonfigurovaný webserver Apache a databázi MySQL. Ten si velmi jednoduše opatříme nainstalováním balíku XAMPP podle následujícího článku: Instalace Apache, Mysql a PHP na Windows.

phpMyAdmin

phpMyAdmin je nejpoužívanější prostředí pro práci s MySQL databází, která je zas nejpoužívanější databází ve webových aplikacích. Nutno dodat, že existují lepší administrační nástroje (např. Adminer) a lepší databáze (např. SQLite nebo PostgreSQL). MySQL s phpMyAdminem však naleznete na každém webhostingu a pokud se někdy dostanete k cizímu projektu, je velmi pravděpodobné, že bude postaven právě na těchto technologiích. Berme tyto 2 nástroje jako standard (ony jím také jsou) a začněme s databázemi právě v nich.

Po instalaci XAMPPu si otevřete XAMPP control panel a spusťe Apache a MySQL (pozor na Skype, rád blokuje port 80). Ve webovém prohlížeči vyťukejte adresu:

localhost/phpmyadmin/

Měli byste vidět webové rozhraní phpMyAdmin, které vypadá asi takto:

phpMyAdmin

Položky v levém sloupci jsou databáze. Možná je to trochu zavádějící, ale databází si můžeme samozřejmě založit více. Tyto, co vidíme, jsou nějaké konfigurační a testovací databáze XAMPPu. Pokud bychom spustili phpMyAdmin na našem webhostingu, tak budou skryty.

V příští lekci, MySQL krok za krokem: Vytvoření databáze a tabulky, si vytvoříme databázi a tabulku uživatelů.


 

Všechny články v sekci
MySQL databáze krok za krokem
Článek pro vás napsal David Čápka
Avatar
Jak se ti líbí článek?
47 hlasů
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor sítě se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity (7)

 

 

Komentáře

Avatar
samo007
Redaktor
Avatar
samo007:19.10.2012 15:00

Super návod :)
Presne to som potreboval.

Editováno 19.10.2012 15:01
 
Odpovědět
19.10.2012 15:00
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na samo007
David Čápka:19.10.2012 15:31

No jsi jeden z lidí, kvůli kterým jsem to začal psát :D Již je na cestě 3. díl, po 4. dílu bys měl znát potřebné základy, přes víkend by se to tu mělo objevit.

Odpovědět
19.10.2012 15:31
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
samo007
Redaktor
Avatar
Odpovídá na David Čápka
samo007:19.10.2012 22:21

Ďakujem. Práve preto som aj odpovedal na článok, pretože práve po chvíli, kedy som sa nechápavo začal vypytovať na databázy, si napísal tento článok.
:D

EDIT: Ja mám vlastne vývojové prostredie Easyphp, tam ma ale zradil Mysql a záhadne sa "pokazil".

Editováno 19.10.2012 22:24
 
Odpovědět
19.10.2012 22:21
Avatar
Kit
Redaktor
Avatar
Kit:20.10.2012 10:34

Cite: "relační označuje vztah mezi tabulkami"

Tohle je obecně omílaný omyl. Relační označuje závislost mezi entitami, tedy relační vztah je i v jedné tabulce mezi sloupci. Nejčastěji mezi primárním klíčem a ostatními atributy. Atributy jsou závislé na primárním klíči.

Odpovědět
20.10.2012 10:34
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:20.10.2012 10:57

Díky, doplněno :)

Odpovědět
20.10.2012 10:57
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
samo007
Redaktor
Avatar
samo007:20.10.2012 15:25

Prosím pomôžte: http://www.itnetwork.cz/…kalni-server

 
Odpovědět
20.10.2012 15:25
Avatar
albertpatera
Redaktor
Avatar
albertpatera:21.10.2012 12:56

když vyplnim localhost/phpmy­admin/....tak se mi zobrazí, že přístup byl odepřen..co s tím?
díky

 
Odpovědět
21.10.2012 12:56
Avatar
Kit
Redaktor
Avatar
Odpovídá na albertpatera
Kit:21.10.2012 13:10

Mně to zase hlásí, že "Objekt nenalezen!". Ovšem u mne je to způsobeno tím, že phpMyAdmin nemám nainstalován a ani ho instalovat nebudu. Pokud však založím podadresář phpmyadmin, hlásí mi to stejnou chybu jako tobě.

Máš v adresáři phpmyadmin soubor index.php nebo ho máš prázdný?

Odpovědět
21.10.2012 13:10
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na albertpatera
David Čápka:21.10.2012 14:08

XAMPP máš nainstalovaný? MySQL databázi zapnutou?

Odpovědět
21.10.2012 14:08
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:21.10.2012 14:27

phpMyAdmin funguje i při vypnutém MySQL.

Spíš to vypadá, že nemá nainstalovaný phpMyAdmin nebo má chybně nastavený defaultní index v Apache.

Odpovědět
21.10.2012 14:27
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
albertpatera
Redaktor
Avatar
albertpatera:21.10.2012 16:13

jj vsechno mam zapnutý

 
Odpovědět
21.10.2012 16:13
Avatar
Kit
Redaktor
Avatar
Odpovídá na albertpatera
Kit:21.10.2012 16:27

... a dál? Myslíš si, že z toho mála a z křišťálové koule dokážeme zjistit příčinu?

Jede ti http://localhost/ ?

Jede http://127.0.0.1/ ?

Odpovědět
21.10.2012 16:27
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
albertpatera
Redaktor
Avatar
albertpatera:21.10.2012 16:55

zobrazuje se tam napis xamp pro windows

 
Odpovědět
21.10.2012 16:55
Avatar
albertpatera
Redaktor
Avatar
albertpatera:21.10.2012 22:01

nevite teda co s tim?

 
Odpovědět
21.10.2012 22:01
Avatar
Kit
Redaktor
Avatar
Odpovídá na albertpatera
Kit:21.10.2012 22:22

S tím ti už neporadím, s XAMPP jsem nikdy nepracoval. To může být čímkoli.

Odpovědět
21.10.2012 22:22
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
albertpatera
Redaktor
Avatar
albertpatera:21.10.2012 22:52

:( a nemohl bys mi poradit ty David Čápka?? diky moc

 
Odpovědět
21.10.2012 22:52
Avatar
samo007
Redaktor
Avatar
samo007:21.10.2012 22:56

Podobný, alebo ten istý problém mám aj ja :(

 
Odpovědět
21.10.2012 22:56
Avatar
albertpatera
Redaktor
Avatar
albertpatera:21.10.2012 23:00

to je skoda ze neni nikdo kdo by poradil

 
Odpovědět
21.10.2012 23:00
Avatar
samo007
Redaktor
Avatar
Odpovídá na albertpatera
samo007:22.10.2012 7:33

Presne tak.

 
Odpovědět
22.10.2012 7:33
Avatar
albertpatera
Redaktor
Avatar
albertpatera:22.10.2012 15:41
:(
 
Odpovědět
22.10.2012 15:41
Avatar
David Jančík
Tým ITnetwork
Avatar
Odpovídá na albertpatera
David Jančík:22.10.2012 15:49

Zkus spustit CMD a přes to se připojit k MySQL.
Najdeš si adresář, kde máš nainstalovaný xampp a tam podsložku mysql\bin např:
C:\xampp\mysql\bin

A z toho adresáře spustíš mysql.exe

Pokud se to podaří tak by se mělo objevit mysql> a zkus napsat třeba status. Jestliže ti to něco napíše (krom chyby) tak je to v pořádku a je chyba v phpMyAdminovi. V opačném případě je chyba v mySql.

Odpovědět
22.10.2012 15:49
Zapomeň, že je to nemožné a udělej to ;)
Avatar
albertpatera
Redaktor
Avatar
albertpatera:22.10.2012 15:59

diky..., když jsem to otevřel, tak se mi tam ukazal EROOR a zase se to rychle zavrelo..nevis co s tim??

 
Odpovědět
22.10.2012 15:59
Avatar
David Jančík
Tým ITnetwork
Avatar
Odpovídá na albertpatera
David Jančík:22.10.2012 16:02

Říkám ať to spustíš přes CMD né ať na to poklepeš...

Odpovědět
22.10.2012 16:02
Zapomeň, že je to nemožné a udělej to ;)
Avatar
albertpatera
Redaktor
Avatar
albertpatera:22.10.2012 16:07

tabulku mi to teda vypise... a comam delat ted??

 
Odpovědět
22.10.2012 16:07
Avatar
Kit
Redaktor
Avatar
Odpovídá na albertpatera
Kit:22.10.2012 16:10

Tabulku? Však jsi ještě nezadal žádný SQL dotaz.

Odpovědět
22.10.2012 16:10
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
albertpatera
Redaktor
Avatar
albertpatera:22.10.2012 16:11

no teda ten status se mi zobrazí...co teď??

 
Odpovědět
22.10.2012 16:11
Avatar
David Jančík
Tým ITnetwork
Avatar
Odpovídá na albertpatera
David Jančík:22.10.2012 16:12

Trošku to rozepiš, co jsi udělal. Případně můžeš přiložit i screenshot.

Odpovědět
22.10.2012 16:12
Zapomeň, že je to nemožné a udělej to ;)
Avatar
albertpatera
Redaktor
Avatar
albertpatera:22.10.2012 16:18

napsal jsem status a vyběhla mi tabulka...použiju teda screenshot

 
Odpovědět
22.10.2012 16:18
Avatar
David Jančík
Tým ITnetwork
Avatar
Odpovídá na albertpatera
David Jančík:22.10.2012 16:20

Nice, ještě zkus pro jistotu

show databases;

To by ti mělo napsat db, které jsou v MySQL. Výchozí by tam mělo být aspoň information_schema.
V případě, že se ti to vypíše, tak je blbě phpMyAdmin.
Tak ho zkus stáhnout znovu a nakopírovat do složky xampp. http://www.phpmyadmin.net/…ge/index.php
V configu se pak jen nastaví
login na "root"
a password na ""

Odpovědět
22.10.2012 16:20
Zapomeň, že je to nemožné a udělej to ;)
Avatar
David Jančík
Tým ITnetwork
Avatar
Odpovídá na albertpatera
David Jančík:22.10.2012 16:21

Jo to vypadá v pohodě. Můžeš ještě screen co hází ten phpMyAdmin?

Odpovědět
22.10.2012 16:21
Zapomeň, že je to nemožné a udělej to ;)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
albertpatera
Redaktor
Avatar
albertpatera:22.10.2012 16:24

phpMyAdmin mi hází tohleto

 
Odpovědět
22.10.2012 16:24
Avatar
David Jančík
Tým ITnetwork
Avatar
Odpovídá na albertpatera
David Jančík:22.10.2012 16:27

Podívej se co je v tom souboru config.inc.php (xampp\phpmyadmin)

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';

Nebo můžeš použít Adminer - http://www.adminer.org/
To je něco jako phpMyAdmin, akorát je v jednom scriptu a je děsně jednoduchej.

Odpovědět
22.10.2012 16:27
Zapomeň, že je to nemožné a udělej to ;)
Avatar
albertpatera
Redaktor
Avatar
albertpatera:22.10.2012 16:35

hele diky už to funguje :D musel sem tam nastavit heslo :D

 
Odpovědět
22.10.2012 16:35
Avatar
samo007
Redaktor
Avatar
Odpovídá na albertpatera
samo007:22.10.2012 22:18

Tak na to sa pozriem aj ja. To heslo si zmenil v config v phpMyAdmin?

Editováno 22.10.2012 22:21
 
Odpovědět
22.10.2012 22:18
Avatar
albertpatera
Redaktor
Avatar
albertpatera:22.10.2012 22:39

jj...do tech ubozovek pak zadej svoje heslo

 
Odpovědět
22.10.2012 22:39
Avatar
albertpatera
Redaktor
Avatar
albertpatera:22.10.2012 23:16

jj zmenil sem ho v phpmyadmin v souboru config.ini.php

 
Odpovědět
22.10.2012 23:16
Avatar
samo007
Redaktor
Avatar
samo007:29.10.2012 19:54

Mne to stále nejde :/

Vypisuje:

#2002 -
Server neodpovedá (alebo socket lokálneho MySQL servera nie je správne nastavený).
Nepodarilo sa pripojiť ku controluser podľa nastavení z konfigurácie.
 
Odpovědět
29.10.2012 19:54
Avatar
samo007
Redaktor
Avatar
Odpovídá na David Jančík
samo007:29.10.2012 20:22

Trochu som pátral a zistil som toto: Vraj mám starú verziu MySQL, ktorá bola zrušená. Takže je neplatná. Ako to napravím?

 
Odpovědět
29.10.2012 20:22
Avatar
David Jančík
Tým ITnetwork
Avatar
Odpovídá na samo007
David Jančík:29.10.2012 20:54

No, můžeš si stáhnout verzi novou. Ale v tomhle problém nebude. Zadával jsi při instalaci heslo pro uživatele root? Pokud ano tak ho musíš manuálně nastavit. Zkus to přeinstalovat a nech vše tak jak je. To je asi nejrychlejší cesta, než to tu rozebírat znovu.

Odpovědět
29.10.2012 20:54
Zapomeň, že je to nemožné a udělej to ;)
Avatar
samo007
Redaktor
Avatar
Odpovídá na David Jančík
samo007:29.10.2012 22:39

Ok, preinštalujem to. S Mysql som ale mal problém aj pri aplikácií Easyphp. Mysql jedného dňa prestalo fungovať. Problém som objavil v procesoch v "Správa súborov", kde je Mysql vypnuté a nedá sa zapnúť. Akoby to bolo zablokované.

 
Odpovědět
29.10.2012 22:39
Avatar
Daniel
Neregistrovaný
Avatar
Daniel:3.1.2013 20:27

Ahoj potřeboval bych prosim pomoct delam malinkej programek a teprve zacinam a tak si neco ztahuju ale nefunguje mi to tak bych prosil o radu.Programek je tabulka do ktere se vypisuji nejake informace o akvariu kolikrat se cistilo atd... to bych mel pote dam ulozit a napise to ze je to ulozene ale uz se mi to nezobrazi tak bych prosil o pomoc.Tady je tabulka.html:
<!DOCTYPE html>
<head>
<title>
Tabulka Rybičky
</title>
</head>
<body>
<form method="post" action="akce.php">
<table border="2">
<tr>
<td>Datum</td>
<td>Akvárium</td>
<td>Voda</td>
<td>Sklo</td>
<td>Filtr A</td>
<td>Filtr B</td>
<td>Hum</td>
<td>Poznámka</td>
</tr>
<tr>
<td><textarea name="Poznámka" rows="1" cols="10" placeholder="Da­tum"></textare­a></td>
<td><textarea name="Poznámka" rows="1" cols="10" placeholder="Ak­várium"></tex­tarea></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><textarea name="Poznámka" rows="1" cols="40" placeholder="Zde napiš svoji poznámku."></tex­tarea></td>
</tr>
</table>
<input type="submit" value="Uložit novinku">
</form>
</body>
</html>

a tady je akce.php :

<?php
$data = file_get_conten­ts("zaznam.txt"); //ulozeni souboru do "zaznam.txt"

$f =fopen("zaznam­.txt"); //otevření souboru z "zaznam.txt"

fclose($f);
echo("Záznam Uložen");
?>

Záznamy

 
Odpovědět
3.1.2013 20:27
Avatar
Kit
Redaktor
Avatar
Odpovídá na Daniel
Kit:3.1.2013 20:46

Funkce file_get_contents(), fopen() a fclose() jsou tam zbytečné, ba přímo škodlivé. Pokud chceš záznam přidat, tak nejjednodušší bude asi

file_put_contents("zaznam.txt",JSON_encode($_POST),FILE_APPEND | LOCK_EX);

Jinak je samozřejmě lepší pro ukládání použít databázi.

Nauč se vkládat zdrojové kódy. Je tady na to tlačítko.

Odpovědět
3.1.2013 20:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Amomym
Člen
Avatar
Odpovídá na Kit
Amomym:27.2.2013 8:44

Ahoj, chci se zeptat, na co je v databázi varchar. INT je na číslo a text je na nějaký text, ale nevím na co je varchar

 
Odpovědět
27.2.2013 8:44
Avatar
Kit
Redaktor
Avatar
Odpovídá na Amomym
Kit:27.2.2013 8:53

Varchar je určen na ušetření jednoho bytu, pokud ti stačí délka textu do 255 znaků. Jinak použij typ text. Ještě je tam možná rozdíl v indexování, ale varchar nepoužívám, tak nevím.

Odpovědět
27.2.2013 8:53
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Amomym
Člen
Avatar
Odpovídá na Kit
Amomym:27.2.2013 17:29

díky, právě že jsem to viděl v jednom tutoriálu, ale asi budu používat text

 
Odpovědět
27.2.2013 17:29
Avatar
David Hynek
Redaktor
Avatar
David Hynek:23.3.2013 15:59

ale co by se ti mělo zobrazit, když tam nic nepřijímáš, ani neukládáš? Navíc tam máš stejně pojmenované textové pole, a bez názvů inputy...

Odpovědět
23.3.2013 15:59
Čím víc vím, tím víc věcí nevím.
Avatar
galacmartin
Člen
Avatar
galacmartin:17.5.2013 0:39

Dobrý den,prosím o radu (úplný začátečník),v phpadminu v záložce databáze mám stále červenou hlášku "nemáte oprávnění". Nemohu tedy vytvořit databázi,stejné je to při pokusu o vytvoření databáze přes php:
<?php
$spojení=mysql_con­nect ("localhost","lo­calhost","")
or die ("Připojení k serveru se nezdařilo,zkon­trolujte připojení.");

echo $spojení, "=hodnota připojení";
echo '
';
$database=mys­ql_query ("CREATE DATABASE IF NOT EXISTS botanika")
or die (mysql_error() );
echo $database;
echo '
';
?>
Prohlížeč vypíše:
Resource id #3=hodnota připojení
Access denied for user ''@'localhost' to database 'botanika'

Děkuji za radu

 
Odpovědět
17.5.2013 0:39
Avatar
jakub
Redaktor
Avatar
Odpovídá na galacmartin
jakub:17.5.2013 7:35

Tento problém sem měl také,řeší se to snad všude.
zkus http://dev.mysql.com/…g-users.html toto.
Snad to pomůže

Odpovědět
17.5.2013 7:35
Uvnitř jsou všichni stejní...
Avatar
galacmartin
Člen
Avatar
galacmartin:17.5.2013 9:22

Moc děkuji, pokusím se tím prokousat, nějak moc nerozumím "pojmům":
user root
user localhost
[email protected]
host
přístup ze svého počítače, ze sítě (asi ji ani nemám) .... no tragédie :)

 
Odpovědět
17.5.2013 9:22
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na galacmartin
David Čápka:17.5.2013 9:29

Instaloval jsi to přes XAMPP?

Odpovědět
17.5.2013 9:29
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
galacmartin
Člen
Avatar
Odpovídá na David Čápka
galacmartin:17.5.2013 9:58

Ano, instaloval jsem si XAMPP, v phpAdminu jsem si vytvořil databázi i tabulku, pak jsem tam něco "zvrtal" v přihlašování a heslech, databáze i tabulka "zmizely"....

 
Odpovědět
17.5.2013 9:58
Avatar
galacmartin
Člen
Avatar
Odpovídá na jakub
galacmartin:19.5.2013 23:59

I když se přihlásím jako [email protected] (bez hesla), tak mě to stále hlásí v záložce databáze:"Nemáte oprávnění" a jakýkoliv příkaz v SQL vyhodnotí : "acces denied for user''@'localhost' ??

 
Odpovědět
19.5.2013 23:59
Avatar
Delisa
Neregistrovaný
Avatar
Delisa:26.2.2014 13:11

Postupovala jsem podle navodu, vse je v poradku az na to, ze mi to pise: **Úložiště nastavení phpMyAdmina není plně dostupné, některé z rozšířených funkcí phpMyAdmina nelze používat. Zde zjistíte proč. Po odkliknutí jsou spatne tri veci: **

$cfg['Servers'][$i]['u­sers'] ... není v pořádku [ Dokumentace ]
$cfg['Servers'][$i]['u­sergroups'] ... není v pořádku [ Dokumentace ]
Nastavitelná nabídka: Vypnuto

$cfg['Servers'][$i]['na­vigationhidin­g'] ... není v pořádku [ Dokumentace ]
Zobrazit nebo skrýt položky z navigace: Vypnuto

Co mam delat?

 
Odpovědět
26.2.2014 13:11
Avatar
Jiří Jeřábek (thechorcheecz):16.3.2014 16:13

Dobrý den, mám tu problém při zapnutí MySQL (Apache funguje), ale MySQL vypíše tohle

Error: MySQL shutdown unexpectedly.
16:08:53  [mysql]       This may be due to a blocked port, missing dependencies,
16:08:53  [mysql]       improper privileges, a crash, or a shutdown by another method.
16:08:53  [mysql]       Press the Logs button to view error logs and check
16:08:53  [mysql]       the Windows Event Viewer for more clues
16:08:53  [mysql]       If you need more help, copy and post this
16:08:53  [mysql]       entire log window on the forums

port 80 a 443 už jsem si vyškrtl ve skype. Pročítal jsem tady komentáře a podle toho jsem zkusil to opravit, to nepomohlo, jen chci říct že phpMyAdmin funguje, teda asi. phpMyAdmin vypíše :

#2002 - No connection could be made because the target machine actively refused it.

Server neodpovídá (nebo není správně nastaven lokální socket MySQL serveru).

Díky za pomoc.

 
Odpovědět
16.3.2014 16:13
Avatar
Jirka
Člen
Avatar
Jirka:15.9.2015 7:54

Atomicita. Její výklad nám na fakultě informatiky byl podán jinak. A to jako snaha o granualitu dat na nejnižší možnou nebo požadovanou úroveň. Např. rozdělení na Jméno a Příjmení, adresu na ulici a č.p. a město atd. pro lepší práci s daty.

Odpovědět
15.9.2015 7:54
Carpe diem
Avatar
Roman Duchoň:20.10.2016 15:40

Občas mě mrzí opomenutí uživatelů Linux.
Tak ale beru to jako další trénink, pro mě, jako začátečníka v Linuxu.

Návod zprovoznění XAMPP na Ubuntu, in English, ale i s obrázky. :)

Editováno 20.10.2016 15:41
Odpovědět
20.10.2016 15:40
RD
Avatar
gorri
Člen
Avatar
Odpovídá na David Čápka
gorri:29.10.2016 23:00

Omlouvám se za tento asi nesmyslný komentář. 2 odstavec, poslední věta.
"redadakční systém nebo podobnou aplikaci."
Každopádně pěkný článek.
Jsem rád za tento jednoduchý návod :-)

Odpovědět
29.10.2016 23:00
Když vím, tak poradím. Nikdo neví všechno :-)
Avatar
Vetva
Člen
Avatar
Vetva:3.12.2016 19:52

Zaujímali by ma rozdiely MsSql,MySql a Linq.

 
Odpovědět
3.12.2016 19:52
Avatar
Michal
Člen
Avatar
Michal:10. června 16:31

Můžu se zeptat proč například Nette využívá jako defaultně zvoleno SQLite3 místo toho aby používal MySQL? Děkuji

 
Odpovědět
10. června 16:31
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michal
David Čápka:10. června 18:47

SQLite se nemusí většinou instalovat ani konfigurovat, proto může být výchozí, na testování/pro­totypování.

Odpovědět
10. června 18:47
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 60 zpráv z 60.