« 1 2
Autor Zpráva
juriad
Profil
Fisir:
Mám takový dojem, že jsi tam na začátku měl zmínku o tom, že výjimečně napíšeš dvoudílný článek a pak nějaký žblept, že snad nedopadneš jako zive.cz. Ale v té nové verzi to už není.

K 4) INSERT INTO:
Místo escapování bych tam napsal česky INSERT INTO tabulka VALUES (?).
Nechápu, proč začátečníci při ručním psaní dotazů všude na***ou ty zpětné apostrofy. Vždyť ty jsou vhodné leda tak pro generování dotazů automatem. Osobně jsem ještě nenarazil na situaci, že bych zpětný apostrof musel použít.

Jo, teď žádný horizontální scrollbar už není. Dokud extrémně nepřizoomuju, pak tě ani těch width: 95% nezachrání.
Firefox box-sizing neumí, umí jen -moz-box-sizing.
jenikkozak
Profil
V úvodu byl kontrolní součet, abys věděl, jestli se ti článek stáhl celý. Pod ním byla kapitola Nevýhody rozšíření mysql_* a níže druhá - mysqli_* ekvivalenty mysql_* funkcí.
juriad
Profil
Google tu stránku stále má v cachi:
Pokusím se ve dvou kapitolách (tohle je výjimka, nechci to tu mít jako na Živě) popsat, proč rozšíření mysql_* nepoužívat a jaké jsou ekvivalentní funkce z rozšíření mysqli_*.

Z toho jsem pochopil, že bude ještě jeden díl; podařilo se mi přečíst slovo kapitola jako díl. A navíc ten článeček byl tak krátký, že jsem na konci nepostřehl, že už skončila druhá kapitola. Od té doby jsem žil v domění, že bude následovat ještě jeden článek.
Jan Tvrdík
Profil
Fisir:
Pár připomínek k aktuální verzi článku:novější již naštěstí používají některou z jeho alternativ

1) „novější již naštěstí používají některou z jeho alternativ“
Obávám se, že to není pravda, ale výzkum na to nemám.

2) „je označeno jako deprecated (a díky tomu vyhazuje každá funkce varování)“
Je oficiálně označeno jako zastaralé, a proto od PHP verze 5.5 vyhazuje chybu typu E_DEPRECATED.

3) „bude z PHP odstraněno“
To je spekulace, oficiální plán pro odstranění pokud vím neexistuje. Upravil bych to tedy na „bude z PHP pravděpodobně odstraněno“

4) „srovnávací tabulka mysql_* vs. mysqli_* a PDO“
Ta tabulka je zbytečně složitá (i přesto, že jsi ji zjednodušil) a silně zavádějící, protože jsi to blbě přeložil. V originále se např. mluví o „API supports Transactions“, což jsi chybně přeložil jako „transakce“. Jenomže rozšíření mysql podporuje transakce, jde čistě o to, že to nemá na práci s transakcemi speciální funkce (jako např. mysqli::begin_transaction), takže je potřeba zavolat normálně ručně mysql_query('START TRANSACTION'). Položky jako „asynchronní dotazy“ a „Stored Procedures“ bych vyhodil úplně. Cílovou skupinu článku to stejně nebude zajímat.

5) „$result->fetch_array“
Lépe $result->fetch_assoc

6) „if(!($statement = $mysqli->prepare(“
Tohle bych radši rozhodil na dva řádky kvůli lepší čitelnosti a použil bych reálnější příklad, takže např.
$statement = $mysqli->prepare("INSERT INTO `users` (`name`, `password`) VALUES (?, ?)");
if (!$statement) {
    echo("Příprava SQL dotazu selhala: " . $mysqli->error);
}
Fisir
Profil
Pár odkazů na můj článek se na diskusi již objevilo a já jej aktualizoval. Chtěl bych se proto zeptat, jestli máte k aktualizovaným pasážím nějaké připomínky (vzhledem k tomu, že odkaz na článek je i ve FAQ).

1.) U Prepared statements zmíněna nemožnost předání výsledku funkce či přímé hodnoty metodě bind_param.
2.) Na mail mi dorazila otázka, co dělat s funkcí mysql_result. Rozhodl jsem se, že rada by mohla být užitečná více lidem a tak jsem možné způsoby nahrazení do článku doplnil.
« 1 2

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0