Jun
23
2009
Nedávno jsme s Lukášem Churým a Ondrou Vašíčkem řešili rychlost operace UPDATE v závislosti na tom, jestli upravovaný sloupec má či nemá nastavený index.
Představte si, že máme v MySQL 5.0 tabulku o několika sloupcích, dva z nich jsou “id” a “xy”. Nad sloupcem “id” je přidělený index. Sloupec “xy” index nemá. Rychlost UPDATE sloupce “xy” trvá nějaký čas.
Otázka zní, jestli UPDATE zabere stejný čas i v případě, kdyby sloupec “xy” měl přidělený index.
Udělal jsem jednoduchý test, který přináší odpověď.
Pokračování článku
6 comments | posted in MySQL, PHP
May
21
2009
V názvu článku jsem vyjmenoval slova, která jsou strašákem nejednoho PHP programátora. Strašák to je ale pouze uměle vytvořený, vycházející z neznalosti problematiky.
Dost často se ve spojení s SQL injection (typ útoku hackera) zmiňuje PHP konstanta magic_quotes_gpc. Prý, že pokud je zapnutá, tak se dá SQL injection předejít. A víte, že od PHP 5.3 bude standardně magic_quotes_gpc vypnutá?
Znamená to, že poté budou SQL dotazy napadnutelné pomocí SQL injection? Ale vůbec ne.
Konstanta magic_quotes_gpc totiž s ochranou SQL injection nemá v podstatě nic společného. Pouze zde existuje průsečík v možnosti jejího využití. Proto ji neznalí programátoři začali přisuzovat větší váhu, než má. Váha magic_quotes_gpc je samozřejmě nulová, zvláštně, když od PHP 5.3 bude vypnutá a v PHP 6 zanikne úplně.
Vysvětleme si tedy, oč jde. SQL injection je vážný problém.
Pokračování článku
6 comments | posted in JavaScript & HTML & CSS, MySQL, PHP
May
10
2009
FDFDoposud jsem neznal nějaký snadný a efektivní způsob exportu HTML stránek do PDF formátu, za pomocí PHP. Ano, existuje PHP třída FPDF, ale něco v ní vytvořit mi zrovna jako efektivní nepřijde. Viz kus kódu. Pokud byste FPDF přece jen použili, mrkněte k Zaachimu na blog. Radí tam, jak na české znaky.
Nad touto třídou existuje nástavba, troufám si říct “naštěstí”. Jmenuje se mPDF a nabízí přímý export z HTML stránek do PDF za podpory UTF-8 kódování, tedy s bezproblémovou interpretací českých znaků.
5 comments | posted in HTML a CSS, JavaScript & HTML & CSS, PHP
Dec
27
2008
Vytvoření formuláře FCKeditoru pomocí PHP
<?php
$oFCKeditor = new FCKeditor('body') ;
$oFCKeditor->Value = $form['body'];
$oFCKeditor->Create();
?>
Získání obsahu formuláře FCKeditoru:
<input type="button" onclick="alert(FCKeditorAPI.GetInstance('body').GetData());" value="Submit" />
Vložení textu do formuláře FCKeditoru:
<input type="button" onclick="FCKeditorAPI.GetInstance('body').InsertHtml('<strong>ahoj</strong>');" value="Submit" />
no comments | posted in JavaScript & HTML & CSS, PHP
Dec
20
2008
Kvůli RSS někdy potřebujeme vytvořit zápis data a času v požadovaném tvaru.
Třeba v takovém: Sat, 20 Dec 2008 13:21:00 GMT+1
Uvedený formát můžeme vygenerovat v PHP nebo přímo pomocí SQL dotazu.
Pokračování článku
2 comments | posted in MySQL, PHP
Nov
21
2008
Při vývoji většinou pracuji přímo s databází na webhostingu (přes vzdálený přístup). Pokud je vyvíjená aplikace přístupná pro úzký okruh testerů, je daleko snazší, když webová aplikace využívá stejnou databázi, a to jak z localhostu, tak i přímo na serveru. Vždy mám totiž přístup ke stejným datům.
Proto nějaká lokální databáze, databáze na serveru, synchronizace, atp., jsou pro mě spíše zdržování. Abych si usnadnil práci a nemusel se připojovat na phpMyAdmina na serveru, využívám u sebe na localhostu lokální instalaci phpMyAdmin. Instalace je ale dosti nadnesené slovo. Stačí stáhnout, rozbalit, nastavit pět hodnot a spustit.
Doposud jsem využíval phpMyAdmin ve verzi 2.9.2. Nyní jsem přešel na phpMyAdmin 3.0.1.1. A co že přináší? Nejmarkantnější rozdíl oproti předchozí používané verzi je v rychlosti. Ta se totiž zvýšila, ale rapidně.
Pokračování článku
3 comments | posted in MySQL, PHP, Software
Nov
20
2008
Vyšel nový NetBeans 6.5. Nabízí podporu pro skriptovací jazyk PHP, automatické dokončování funkcí, jejich napovídání s provázaností na třídy, kontrolu syntaxe a zvýraznění klíčových slov.
Součástí je ladící nástroj Xdebug. Nová verze dále přichází se vylepšenou podporou JavaScriptu, CSS a techniky AJAX. Můžete také například využít ladění JavaScriptu na Firefoxu a Internet Exploreru.
Pokračování článku
2 comments | posted in JavaScript & HTML & CSS, PHP, Software
Nov
6
2008
A zase ty hvězdičky! Přes AJAX mám řešené hodnocení něčeho. Kliknu na hodnocení, pošlou se data na zpracování, server vygeneruje XML, který se vrátí ke zpracování JavaScriptem (pro změnu stavu na stránce). Nutné je zdůraznit, že data jsou ve formátu XML vrácena zcela korektně. Přesto Firebug vypisuje chybu:
Na začátku externí entity chybí procesní instrukce xml
undefined
Aby se nám to ještě trochu zamotalo, tak se tato chyba vyskytuje pouze, pokud script spouštím na localhostu. Na serveru funguje bez problémů. Chyba byla způsobena includovanými soubory.
Pokračování článku
1 comment | posted in PHP
Nov
3
2008
Když už zase psát, tak ať je to užitečné.
Určitě jste někdy při práci s databází (MySQL) chtěli zjistit ID nového prvku, který jste vložili přes příkaz INSERT. PHP nabízí funkci mysql_insert_id(), která přesně toto umožňuje. Vrátí generovanou hodnotu ID posledního příkazu INSERT. Je tedy nutné, aby se funkce mysql_insert_id() nacházela bezprostředně za dotazem s příkazem INSERT.
Tabulka musí obsahovat sloupec s nastaveným AUTO_INCREMENT. Hodnotu vloženého ID můžete také zjistit přímo přes SQL dotaz. Stačí použít funkci LAST_INSERT_ID().
no comments | posted in MySQL, PHP
Oct
21
2008
Rychlostně efektivní vytvoření data a času. Využití PHP s časovým posunem -180 s. Řetězec ve formátu: 2008-07-27 16:02:57.
Pokračování článku
1 comment | posted in PHP
Komentáře ke článkům