| | |
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Autor | Správa |
---|
Registrovaný: 17.08.12 Prihlásený: 02.01.15 Príspevky: 94 Témy: 29 | Napísal JTB: 25.07.2013 19:53 | |
|
Účim sa PHP a MySQL. A neviem ako kódovať znaky aby si zobrazovalo aj mekčene, dĺžne. Skúšal som nasledovne: Vytvoril som si databázu:Kód: <?php // Pripojenie k Mysql $db = mysql_connect('localhost', 'uzivatel', 'heslo') or die ('Nemozem sa pripojit. Zkontrolujte prosim pripojenie k serveru. ');
//Ak hlavna dabaza neexistuje, vytvorim ju $dotaz = 'CREATE DATABASE IF NOT EXISTS moviesite CHARACTER SET utf8 COLLATE utf8_slovak_ci '; mysql_query($dotaz, $db) or die (mysql_error($db) );
//Nastavenie novej databazi ako pracovnej mysql_select_db('moviesite', $db) or die (mysql_error($db));
//vytvorenie tabulku film $dotaz = 'CREATE TABLE film ( film_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, film_meno VARCHAR(255) NOT NULL, film_typ TINYINT NOT NULL DEFAULT 0, film_rok SMALLINT UNSIGNED NOT NULL DEFAULT 0, film_herci INTEGER UNSIGNED NOT NULL DEFAULT 0, film_reziser INTEGER UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (film_id), KEY film_typ (film_typ, film_rok) ) ENGINE=MyISAM';
$vysledky = mysql_query($dotaz, $db) or die(mysql_error($db));
//VYTVORENIE TABULKY TYPFILMU $dotaz = 'CREATE TABLE typfilmu ( typfilmu_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, typfilmu_stitok VARCHAR(100) NOT NULL,
PRIMARY KEY (typfilmu_id) ) ENGINE=MyISAM';
$vysledky = mysql_query($dotaz, $db) or die(mysql_error($db));
// vytvorenie tabulky ludia $dotaz = 'CREATE TABLE ludia( ludia_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, ludia_plnemeno VARCHAR(255) NOT NULL, ludia_herec TINYINT(1) UNSIGNED NOT NULL default 0, ludia_reziser TINYINT(1) UNSIGNED NOT NULL default 0,
PRIMARY KEY (ludia_id) ) ENGINE = MyISAM'; $vysledky = mysql_query($dotaz, $db) or die (mysql_error($db));
echo 'Databáza filmov bola úspešne vytvorená!'; ?> Do databázy vkladam údaje takto: Kód: // Pripojenie k Mysql. $db = mysql_connect('localhost', 'uzivatel', 'heslo') or die ('Nemôžem sa pripojit, skotrolujte pripojenie k serveru');
// Nastavenie databazi ako pracovnej mysql_select_db('moviesite', $db) or die(mysql_error($db));
// Vlozenie udajov do tabulky "film" . $dotaz = 'INSERT INTO film (film_id, film_meno, film_typ, film_rok, film_herci, film_reziser) VALUES (1, "Božský Bruce", 5, 2003, 1, 2 ), (2, "Maléry pana Šikuly", 5, 1999, 5, 6 ), (3, "Grand Canyon", 2, 1991, 4, 3 )'; $vysledky = mysql_query($dotaz, $db) or die(mysql_error($db));
// Nova data do tabulky "typfilmu" . $dotaz = 'INSERT INTO typfilmu (typfilmu_id, typfilmu_stitok) VALUES (1, "Sci Fi"), (2, "Drama"), (3, "Dobrodružný"), (4, "Vojnový"), (5, "Komedia"), (6, "Horor"), (7, "Akčný"), (8, "Detský")'; $vysledky = mysql_query($dotaz, $db) or die(mysql_error($db));
// Nova data do tabulky "ludia" . $dotaz = 'INSERT INTO ludia (ludia_id, ludia_plnemeno, ludia_herec, ludia_reziser) VALUES (1, "Jim Carrey", 1, 0 ), (2, "Tom Shadyac", 0, 1 ), (3, "Lawrence Kasdan", 0, 1 ), (4, "Kevin Kline", 1, 0 ), (5, "Ron Livingston", 1, 0 ), (6, "Mike Judge", 0, 1 )'; $vysledky = mysql_query($dotaz, $db) or die(mysql_error($db));
echo 'Vloženie do databázi prebehlo úspešne!'; ?> No a už teraz keď som si v SQL Buddy prezrel vytvorenú databázu nezobrazovali sa mekčene a dĺžne ale len rôzne znaky namiesto nich. Kódovanie ale bolo nastavené utf8, tak som ručne prepísal všetky slová a uložil databázu, všetko sa zobrazovalo v poriadku. Ale keď som si dal vypísať obsah databázy do okna prehliadača kódovanie znovu nefungovalo. Viete mi poradiť prečo? Databázu som vypisoval takto:Kód: <?php $db = mysql_connect('localhost', 'uzivatel', 'heslo') or die ('Nemôžem sa pripojiť skontrolujte pripojenie k serveru'); mysql_select_db('moviesite', $db) or die(mysql_error($db));
// vyber názov filmou vyrobených od roku 1990 $dotaz = 'SELECT film_meno, film_typ FROM film WHERE film_rok > 1990 ORDER BY film_typ'; $vysledky = mysql_query($dotaz, $db) or die(mysql_error($db));
// zobraz vysledky while ($riadok = mysql_fetch_array($vysledky)) { foreach ($riadok as $hodnota) { echo $hodnota . ' '; } echo '<br/>'; } ?>
_________________ HP ProBook 4520s; CPU: Intel i5-480M 2,67 Ghz; GPU: ATI Radeon HD 6370M 1 GB; MB: Hewlett-Packard 1411; Chipset: IntelHM57 (IbexPeak-M DH); RAM: Hyundai DDR3 4GB (PC3-10600); HDD: Hitachi 500GB 7200RPM SATA-II; Zvuková karta: Axago ADA-X5; Reproduktory: Genius SW-G2.1 1250 GX Gaming; OS: openSUSE 13.1, 64-bit |
|
Registrovaný: 17.08.12 Prihlásený: 02.01.15 Príspevky: 94 Témy: 29 | Napísal autor témy JTB: 25.07.2013 20:23 | |
|
Skúsil som databázu vytvoriť znovu a znovu do nej vložiť údaje. Keď som si ju prezrel v SQL Buddy vyzeralo to ako predtým ale tento krát som nič neprepisoval. Keď som údaje načítal na stránku všetko sa už zobrazilo tak ako malo. Takže by som sa chcel spýtať prečo mi v SQL Buddy ukazuje slovenské slová ako keby nebolo použité správne kódovanie?
_________________ HP ProBook 4520s; CPU: Intel i5-480M 2,67 Ghz; GPU: ATI Radeon HD 6370M 1 GB; MB: Hewlett-Packard 1411; Chipset: IntelHM57 (IbexPeak-M DH); RAM: Hyundai DDR3 4GB (PC3-10600); HDD: Hitachi 500GB 7200RPM SATA-II; Zvuková karta: Axago ADA-X5; Reproduktory: Genius SW-G2.1 1250 GX Gaming; OS: openSUSE 13.1, 64-bit |
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 26.07.2013 18:50 | |
|
JTB píše: Takže by som sa chcel spýtať prečo mi v SQL Buddy ukazuje slovenské slová ako keby nebolo použité správne kódovanie? Pretože tie údaje sú v databáze uložené nesprávne. Ten skript vkladá do DB údaje v náhodnom kódovaní, ale keďže rovnaké kódovanie používa aj pri zobrazovaní, tak to vyzerá tak, ako keby tam žiadny problém nebol. Ak sú tie údaje v UTF-8 (čo je asi najrozumnejšie kódovanie pri webe), tak po pripojení k DB treba MySQL povedať, že dáta budú práve v UTF-8, napr. takto: Kód: mysql_query("SET NAMES utf8;", $db) or die (mysql_error($db) );
|
|
Registrovaný: 27.08.09 Prihlásený: 08.07.15 Príspevky: 169 Témy: 46 |
V prvom rade by som nepouzival mysql_* na tvojom mieste.. a potom sa zaoberal ostatnym..
|
|
Registrovaný: 17.08.12 Prihlásený: 02.01.15 Príspevky: 94 Témy: 29 | Napísal autor témy JTB: 28.07.2013 12:06 | |
|
Ďakujem za odpoveď!
_________________ HP ProBook 4520s; CPU: Intel i5-480M 2,67 Ghz; GPU: ATI Radeon HD 6370M 1 GB; MB: Hewlett-Packard 1411; Chipset: IntelHM57 (IbexPeak-M DH); RAM: Hyundai DDR3 4GB (PC3-10600); HDD: Hitachi 500GB 7200RPM SATA-II; Zvuková karta: Axago ADA-X5; Reproduktory: Genius SW-G2.1 1250 GX Gaming; OS: openSUSE 13.1, 64-bit |
|
Registrovaný: 17.08.12 Prihlásený: 02.01.15 Príspevky: 94 Témy: 29 | Napísal autor témy JTB: 28.07.2013 12:08 | |
|
DeiForm píše: V prvom rade by som nepouzival mysql_* na tvojom mieste.. a potom sa zaoberal ostatnym.. Mohol by si mi aj vysvetliť prečo to nepoužívať a čo namiesto toho používať? Učím sa zatial len z knihy, keď niečomu nerozumiem alebo mi nejde hľadám na fórach s týmto som zatial problém nemal, tak som to zatial neriešil. Ale rád si nechám poradiť.
_________________ HP ProBook 4520s; CPU: Intel i5-480M 2,67 Ghz; GPU: ATI Radeon HD 6370M 1 GB; MB: Hewlett-Packard 1411; Chipset: IntelHM57 (IbexPeak-M DH); RAM: Hyundai DDR3 4GB (PC3-10600); HDD: Hitachi 500GB 7200RPM SATA-II; Zvuková karta: Axago ADA-X5; Reproduktory: Genius SW-G2.1 1250 GX Gaming; OS: openSUSE 13.1, 64-bit |
|
Registrovaný: 27.08.09 Prihlásený: 08.07.15 Príspevky: 169 Témy: 46 |
Takže napríklad len z php.net manuálu Citácia: This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include: mysqli_query() PDO::query()
Pouzivaj mysqli_* alebo PDO.
|
|
Registrovaný: 17.08.12 Prihlásený: 02.01.15 Príspevky: 94 Témy: 29 | Napísal autor témy JTB: 28.07.2013 21:08 | |
|
DeiForm píše: Takže napríklad len z php.net manuálu Citácia: This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include: mysqli_query() PDO::query()
Pouzivaj mysqli_* alebo PDO. Ďakujem za radu/upozornenie. Knihu z ktorej sa učím o tom zmienka nebola. Je to už off topic ale napr. tento kód som upravil podľa dokumentácie ktorú som si pozrel. Len by som sa chcel spýtať,ak máš čas, či už by to bolo v poriadku. Kód: <?php $db = mysqli_connect("localhost","uzivatel","heslo","moviesite") or die("Error " . mysqli_error($db)); mysqli_query($db, "SET NAMES utf8;") or die("Error " . mysqli_error($db)); $dotaz = 'SELECT film_meno, film_rok, film_reziser, film_herci, film_typ FROM film ORDER BY film_meno ASC, film_rok DESC'; $vysledky = mysqli_query($db, $dotaz); $pocet_filmov = mysqli_num_rows($vysledky); while($riadok = mysqli_fetch_array($vysledky)) { extract($riadok); echo '<tr>'; echo '<td>'. $film_meno. '</td>'; echo '<td>'. $film_rok. '</td>'; echo '<td>'. $film_reziser. '</td>'; echo '<td>'. $film_herci. '</td>'; echo '<td>'. $film_typ. '</td>'; echo '</tr>'; } Samozrejme chýba k tomu kód HTML ale ten je myslím v tomto prípade nepotrebný.
_________________ HP ProBook 4520s; CPU: Intel i5-480M 2,67 Ghz; GPU: ATI Radeon HD 6370M 1 GB; MB: Hewlett-Packard 1411; Chipset: IntelHM57 (IbexPeak-M DH); RAM: Hyundai DDR3 4GB (PC3-10600); HDD: Hitachi 500GB 7200RPM SATA-II; Zvuková karta: Axago ADA-X5; Reproduktory: Genius SW-G2.1 1250 GX Gaming; OS: openSUSE 13.1, 64-bit |
|
Registrovaný: 27.08.09 Prihlásený: 08.07.15 Príspevky: 169 Témy: 46 |
Myslim ze malo by to byt ok, Ja osobne pouzivam mysqli v OOP a precitaj si PM ak tak tam budes mat viac info
|
|
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Kodovanie znakov v Operačné systémy Microsoft | 0 | 366 | 16.05.2010 18:20 sasori1512 | | MySQL kodovanie v Databázy | 3 | 996 | 28.02.2008 14:26 emer | | Kódovanie MySQL databázy v PHP, ASP | 2 | 543 | 23.04.2011 18:30 richo9996 | | Zmena kodovanie pri MySQL 4.0 v Databázy | 5 | 748 | 27.08.2009 20:50 rooobertek | | Vkladanie dát cez mysql konzolu - kódovanie v Databázy | 6 | 650 | 24.09.2011 19:54 camo | | Mapa znakov v Operačné systémy Microsoft | 2 | 2431 | 18.11.2009 19:36 Lukas9 | | Nespravne zobrazovanie znakov v Redakčné systémy | 1 | 664 | 12.10.2006 22:11 itsgoingd | | Redukovanie množstva znakov v PHP, ASP | 5 | 277 | 30.04.2013 15:36 BX | | Množstvo rovnakých znakov v PHP, ASP | 1 | 493 | 14.05.2011 10:53 Ďuri | | Minimálny počet znakov v PHP, ASP | 3 | 546 | 27.07.2007 7:56 zero0x | | c - pocet znakov v Assembler, C, C++, Pascal, Java | 9 | 618 | 17.09.2011 11:21 nBXXL | | C++ Čitanie znakov/čísel v Assembler, C, C++, Pascal, Java | 6 | 560 | 09.05.2014 12:04 Lukys12345 | | Vypísanie znakov v C v Assembler, C, C++, Pascal, Java | 4 | 465 | 18.04.2012 20:48 Fico | | Sirka divu - vela znakov v Ostatné | 3 | 496 | 06.04.2009 17:11 exoomer | | Textarea limit znakov onkeypress v JavaScript, VBScript, Ajax | 4 | 1114 | 14.05.2019 22:13 neopagan | | nastavenie znakov na klávesnici v Externé zariadenia | 2 | 341 | 31.07.2014 11:12 DonnieBrasco |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|