{"id":422,"date":"2024-04-08T06:49:38","date_gmt":"2024-04-08T04:49:38","guid":{"rendered":"https:\/\/gdm.sosthe.sk\/?page_id=422"},"modified":"2024-04-08T06:53:29","modified_gmt":"2024-04-08T04:53:29","slug":"co-je-to-mysql","status":"publish","type":"page","link":"https:\/\/gdm.sosthe.sk\/?page_id=422","title":{"rendered":"\u010co je to MySQL ?"},"content":{"rendered":"<ul>\n<li>MySQL je datab\u00e1zov\u00fd syst\u00e9m pou\u017e\u00edvan\u00fd pre webov\u00e9 aplik\u00e1cie<\/li>\n<li>MySQL je datab\u00e1zov\u00fd syst\u00e9m, ktor\u00fd be\u017e\u00ed na serveri<\/li>\n<li>MySQL je ide\u00e1lny pre mal\u00e9 aj ve\u013ek\u00e9 aplik\u00e1cie<\/li>\n<li>MySQL je ve\u013emi r\u00fdchly, spo\u013eahliv\u00fd a \u013eahko pou\u017eite\u013en\u00fd<\/li>\n<li>MySQL pou\u017e\u00edva \u0161tandardn\u00e9 datab\u00e1zy typu SQL<\/li>\n<li>MySQL sa kompiluje na mnoh\u00fdch platform\u00e1ch<\/li>\n<li>MySQL je zadarmo na stiahnutie a pou\u017e\u00edvanie<\/li>\n<li>MySQL vyv\u00edja, distribuuje a podporuje spolo\u010dnos\u0165 Oracle Corporation<\/li>\n<li>MySQL je pomenovan\u00e1 po dc\u00e9re spoluzakladate\u013ea Montyho Wideniusa: My<\/li>\n<\/ul>\n<p>\u00dadaje v datab\u00e1ze MySQL s\u00fa ulo\u017een\u00e9 v tabu\u013ek\u00e1ch. Tabu\u013eka je kolekcia s\u00favisiacich \u00fadajov a sklad\u00e1 sa zo st\u013apcov a riadkov.<\/p>\n<p>Datab\u00e1zy s\u00fa u\u017eito\u010dn\u00e9 na kategorick\u00e9 ukladanie inform\u00e1ci\u00ed. Spolo\u010dnos\u0165 m\u00f4\u017ee ma\u0165 datab\u00e1zu s nasleduj\u00facimi tabu\u013ekami:<\/p>\n<ul>\n<li>Zamestnanci<\/li>\n<li>Produkty<\/li>\n<li>z\u00e1kazn\u00edkov<\/li>\n<li>objedn\u00e1vky<\/li>\n<\/ul>\n<hr \/>\n<h2>Datab\u00e1zov\u00fd syst\u00e9m PHP + MySQL<\/h2>\n<ul>\n<li>PHP v kombin\u00e1cii s MySQL s\u00fa multiplatformov\u00e9 (m\u00f4\u017eete ju napr\u00edklad vyv\u00edja\u0165 v syst\u00e9me Windows a pou\u017e\u00edva\u0165 na platforme Unix)<\/li>\n<\/ul>\n<hr \/>\n<h2>Datab\u00e1zov\u00e9 dotazy<\/h2>\n<p>Dotaz je ot\u00e1zka alebo po\u017eiadavka.<\/p>\n<p>M\u00f4\u017eeme po\u017eiada\u0165 datab\u00e1zu o konkr\u00e9tne inform\u00e1cie a vr\u00e1ti\u0165 mno\u017einu z\u00e1znamov.<\/p>\n<p>Pozrite sa na nasleduj\u00faci dotaz (pomocou \u0161tandardn\u00e9ho SQL):<\/p>\n<div class=\"w3-code w3-border notranslate sqlHigh\">\n<div><span class=\"sqlkeywordcolor\">SELECT<\/span>\u00a0<span style=\"color: #000080;\">LastName<\/span>\u00a0<span class=\"sqlkeywordcolor\">FROM<\/span>\u00a0<span style=\"color: #000080;\">Employees<\/span><\/div>\n<\/div>\n<p>Dotaz uveden\u00fd vy\u0161\u0161ie vyberie v\u0161etky \u00fadaje v st\u013apci &#8222;Priezvisko&#8220; z tabu\u013eky &#8222;Zamestnanci&#8220;.<\/p>\n<h2>PHP\u00a0<span class=\"color_h1\">Pripojenie k MySQL<\/span><\/h2>\n<p class=\"intro\">PHP 5 a nov\u0161ie m\u00f4\u017eu pracova\u0165 s datab\u00e1zou MySQL pomocou:<\/p>\n<ul>\n<li><strong>Roz\u0161\u00edrenie MySQLi<\/strong>\u00a0(&#8222;i&#8220; znamen\u00e1 vylep\u0161en\u00e9)<\/li>\n<li><strong>PDO (\u00fadajov\u00e9 objekty PHP)<\/strong><\/li>\n<\/ul>\n<p class=\"intro\">Skor\u0161ie verzie PHP pou\u017e\u00edvali roz\u0161\u00edrenie MySQL. Toto roz\u0161\u00edrenie v\u0161ak bolo v roku 2012 zastaran\u00e9.<\/p>\n<hr \/>\n<h2>M\u00e1m pou\u017e\u00edva\u0165 MySQLi alebo PDO?<\/h2>\n<p>Ak potrebujete kr\u00e1tku odpove\u010f, bola by to \u201e\u010coko\u013evek chcete\u201c.<\/p>\n<p>MySQLi aj PDO maj\u00fa svoje v\u00fdhody:<\/p>\n<p>PDO bude fungova\u0165 na 12 r\u00f4znych datab\u00e1zov\u00fdch syst\u00e9moch, zatia\u013e \u010do MySQLi bude fungova\u0165 iba s datab\u00e1zami MySQL.<\/p>\n<p>Tak\u017ee, ak mus\u00edte zmeni\u0165 svoj projekt na pou\u017e\u00edvanie inej datab\u00e1zy, PDO tento proces zjednodu\u0161\u00ed. Sta\u010d\u00ed zmeni\u0165 re\u0165azec pripojenia a nieko\u013eko ot\u00e1zok. S MySQLi budete musie\u0165 prep\u00edsa\u0165 cel\u00fd k\u00f3d \u2013 vr\u00e1tane dotazov.<\/p>\n<p>Oba s\u00fa objektovo orientovan\u00e9, no MySQLi pon\u00faka aj procedur\u00e1lne API.<\/p>\n<p>Obe podporuj\u00fa pripraven\u00e9 vyhl\u00e1senia. Pripraven\u00e9 pr\u00edkazy chr\u00e1nia pred SQL injection a s\u00fa ve\u013emi d\u00f4le\u017eit\u00e9 pre bezpe\u010dnos\u0165 webov\u00fdch aplik\u00e1ci\u00ed.<\/p>\n<hr \/>\n<h2>Pr\u00edklady MySQL v syntaxi MySQLi aj PDO<\/h2>\n<p>V tejto a v nasleduj\u00facich kapitol\u00e1ch demon\u0161trujeme tri sp\u00f4soby pr\u00e1ce s PHP a MySQL:<\/p>\n<ul>\n<li>MySQLi (objektovo orientovan\u00e9)<\/li>\n<li>MySQLi (procedur\u00e1lna)<\/li>\n<li>CHOP<\/li>\n<\/ul>\n<hr \/>\n<h2>In\u0161tal\u00e1cia MySQLi<\/h2>\n<p>Pre Linux a Windows: Roz\u0161\u00edrenie MySQLi sa vo v\u00e4\u010d\u0161ine pr\u00edpadov automaticky nain\u0161taluje, ke\u010f je nain\u0161talovan\u00fd bal\u00edk php5 mysql.<\/p>\n<p>Podrobnosti o in\u0161tal\u00e1cii n\u00e1jdete na:\u00a0<a href=\"http:\/\/php.net\/manual\/en\/mysqli.installation.php\" target=\"_blank\" rel=\"noopener\">http:\/\/php.net\/manual\/en\/mysqli.installation.php<\/a><\/p>\n<hr \/>\n<h2>In\u0161tal\u00e1cia PDO<\/h2>\n<p>Podrobnosti o in\u0161tal\u00e1cii n\u00e1jdete na:\u00a0<a href=\"http:\/\/php.net\/manual\/en\/pdo.installation.php\" target=\"_blank\" rel=\"noopener\">http:\/\/php.net\/manual\/en\/pdo.installation.php<\/a><\/p>\n<hr \/>\n<div id=\"midcontentadcontainer\"><\/div>\n<hr \/>\n<h2>Otvorte pripojenie k MySQL<\/h2>\n<p>Aby sme mohli pristupova\u0165 k \u00fadajom v datab\u00e1ze MySQL, mus\u00edme by\u0165 schopn\u00ed pripoji\u0165 sa k serveru:<\/p>\n<div class=\"w3-example\">\n<h3>Pr\u00edklad (Objektovo orientovan\u00e9 MySQLi)<\/h3>\n<div class=\"w3-code htmlHigh notranslate\">\n<pre><span class=\"phpcolor\"><span class=\"phpcolor\"><span class=\"phptagcolor\">&lt;?php<\/span>\r\n$servername =\u00a0<span class=\"phpstringcolor\">\"localhost\"<\/span>;\r\n$username =\u00a0<span class=\"phpstringcolor\">\"username\"<\/span>;\r\n$password =\u00a0<span class=\"phpstringcolor\">\"password\"<\/span>;<\/span><\/span>\r\n\r\n<span class=\"commentcolor\">\/\/ Create connection\r\n<\/span>$conn =\u00a0<span class=\"phpkeywordcolor\">new<\/span>\u00a0mysqli($servername, $username, $password);\r\n\r\n<span class=\"commentcolor\">\/\/ Check connection\r\n<\/span><span class=\"phpkeywordcolor\">if<\/span>\u00a0($conn-&gt;connect_error)\u00a0{\r\n<span class=\"phpkeywordcolor\">die<\/span>(<span class=\"phpstringcolor\">\"Connection failed: \"<\/span>\u00a0. $conn-&gt;connect_error);\r\n}\r\n<span class=\"phpkeywordcolor\">echo<\/span>\u00a0<span class=\"phpstringcolor\">\"Connected successfully\"<\/span>;\r\n<span class=\"phptagcolor\">?&gt;<\/span><\/pre>\n<\/div>\n<\/div>\n<div class=\"w3-panel w3-note\">\n<div class=\"w3-example\">\n<h3>Pr\u00edklad (Proced\u00fara MySQLi)<\/h3>\n<pre class=\"w3-code htmlHigh notranslate\"><span class=\"phpcolor\"><span class=\"phptagcolor\">&lt;?php<\/span>\r\n$servername =\u00a0<span class=\"phpstringcolor\">\"localhost\"<\/span>;\r\n$username =\u00a0<span class=\"phpstringcolor\">\"username\"<\/span>;\r\n$password =\u00a0<span class=\"phpstringcolor\">\"password\"<\/span>;\r\n\r\n<span class=\"commentcolor\">\/\/ Create connection\r\n<\/span>$conn = mysqli_connect($servername, $username, $password);\r\n\r\n<span class=\"commentcolor\">\/\/ Check connection\r\n<\/span><span class=\"phpkeywordcolor\">if<\/span>\u00a0(!$conn)\u00a0{\r\n\u00a0\u00a0<span class=\"phpkeywordcolor\">die<\/span>(<span class=\"phpstringcolor\">\"Connection failed: \"<\/span>\u00a0. mysqli_connect_error());\r\n}\r\n<span class=\"phpkeywordcolor\">echo<\/span>\u00a0<span class=\"phpstringcolor\">\"Connected successfully\"<\/span>;\r\n<span class=\"phptagcolor\">?&gt;<\/span><\/span><\/pre>\n<\/div>\n<div class=\"w3-example\">\n<h3>Pr\u00edklad (CHOP)<\/h3>\n<pre class=\"w3-code htmlHigh notranslate\"><span class=\"phpcolor\"><span class=\"phptagcolor\">&lt;?php<\/span>\r\n$servername =\u00a0<span class=\"phpstringcolor\">\"localhost\"<\/span>;\r\n$username =\u00a0<span class=\"phpstringcolor\">\"username\"<\/span>;\r\n$password =\u00a0<span class=\"phpstringcolor\">\"password\"<\/span>;\r\n\r\n<span class=\"phpkeywordcolor\">try<\/span>\u00a0{\r\n\u00a0\u00a0$conn =\u00a0<span class=\"phpkeywordcolor\">new<\/span>\u00a0PDO(<span class=\"phpstringcolor\">\"mysql:host=$servername;dbname=myDB\"<\/span>, $username, $password);\r\n\u00a0\u00a0<span class=\"commentcolor\">\/\/ set the PDO error mode to exception\r\n<\/span>\u00a0 $conn-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\r\n\u00a0\u00a0<span class=\"phpkeywordcolor\">echo<\/span>\u00a0<span class=\"phpstringcolor\">\"Connected successfully\"<\/span>;\r\n}\u00a0<span class=\"phpkeywordcolor\">catch<\/span>(PDOException $e)\u00a0{\r\n\u00a0\u00a0<span class=\"phpkeywordcolor\">echo<\/span>\u00a0<span class=\"phpstringcolor\">\"Connection failed: \"<\/span>\u00a0. $e-&gt;getMessage();\r\n}\r\n<span class=\"phptagcolor\">?&gt;\r\n\r\n<\/span><\/span><\/pre>\n<h2>Zatvorte pripojenie<\/h2>\n<p>Po skon\u010den\u00ed skriptu sa pripojenie automaticky ukon\u010d\u00ed. Ak chcete pripojenie predt\u00fdm ukon\u010di\u0165, pou\u017eite nasledovn\u00e9:<\/p>\n<div class=\"w3-example\">\n<h3>Objektovo orientovan\u00e9 MySQLi:<\/h3>\n<pre class=\"w3-code htmlHigh notranslate\">$conn-&gt;close();<\/pre>\n<\/div>\n<div class=\"w3-example\">\n<h3>Postup MySQLi:<\/h3>\n<pre class=\"w3-code notranslate\">mysqli_close($conn);<\/pre>\n<\/div>\n<div class=\"w3-example\">\n<h3>CHOP:<\/h3>\n<pre class=\"w3-code notranslate\">$conn = null;<\/pre>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>MySQL je datab\u00e1zov\u00fd syst\u00e9m pou\u017e\u00edvan\u00fd pre webov\u00e9 aplik\u00e1cie MySQL je datab\u00e1zov\u00fd syst\u00e9m, ktor\u00fd be\u017e\u00ed na serveri MySQL je ide\u00e1lny pre mal\u00e9 aj ve\u013ek\u00e9 aplik\u00e1cie MySQL je ve\u013emi r\u00fdchly, spo\u013eahliv\u00fd a \u013eahko pou\u017eite\u013en\u00fd MySQL pou\u017e\u00edva \u0161tandardn\u00e9 datab\u00e1zy typu SQL MySQL sa kompiluje na mnoh\u00fdch platform\u00e1ch MySQL je zadarmo na stiahnutie a pou\u017e\u00edvanie MySQL vyv\u00edja, distribuuje a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-422","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=422"}],"version-history":[{"count":6,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/422\/revisions"}],"predecessor-version":[{"id":429,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/422\/revisions\/429"}],"wp:attachment":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}