Názory ke článku PHP a MySQL – MySQLi - 2. díl – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Názory ke článku PHP a MySQL – MySQLi - 2. díl – Programujte.comNázory ke článku PHP a MySQL – MySQLi - 2. díl – Programujte.com

 

Názory ke článku PHP a MySQL – MySQLi - 2. díl

Adam Kosinar   NOVÝ
1. 6. 2010

Zajimavé, rozhodně stoji za vyzkoušení.

marioff   NOVÝ
2. 6. 2010

super clanocek... len tak dalej...

inak by bolo dobre spomenut aj moznost proceduralneho zapisu, predsa ty co uz PS poznaju (pouzivaju) s OOP problem nemaju, ostatnych to moze odradit, najma, ako vsetci vieme, vacsine sa nechce hladat dalsie info v docu php...

z_moravec, autor článku   NOVÝ
2. 6. 2010

Reagoval na komentář od uživatele marioff :
Díky.

O procedurálním stylu jsem lehce psal v prvním díle, takže nějaké vodítko čtenář najde. Přijde mi zbytečné ty kódy psát dvakrát, názvy funkcí se dají odvodit intuitivně z OOP kódu a zbytek v manuálu.

maax   NOVÝ
2. 6. 2010

drobna poznamka:

$stmt->bind_param($jmeno);
je nespravny zapis, prvni parametr vzdy definuje datove typy promennych predavanych az od druheho parametru.

http://uk.php.net/manual/en/mysqli-stmt.bind-param.php

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");

$stmt->bind_param('sssd', $code, $language, $official, $percent);

z_moravec, autor článku   NOVÝ
2. 6. 2010

Reagoval na komentář od uživatele maax :
Díky, už jsem to opravil.

Dundee   NOVÝ
3. 6. 2010

Byl bych dost opatrný s tvrzením, že použití prepared statements zvýší výkonost. Kdysi jsem se o tom trochu rozepsal: http://blog.milde.cz/post/213-mysql-bindovat-ci-nebindovat-/

z_moravec, autor článku   NOVÝ
3. 6. 2010

Reagoval na komentář od uživatele Dundee :
Tvoje měření, ale odpovídá tomu co je uvedeno v článku. Zrychlení při několikanásobném opakování stejného dotazu. U dotazu, který zavoláš jen jednou se zrychlení projeví pouze při předávání většího objemu dat, díky binárnímu přenosu.

Dundee   NOVÝ
3. 6. 2010

Reagoval na komentář od uživatele Zdeněk Moravec :
Právě, že neodpovídá. Při provedení 1000 stejných dotazů potřeboval skript při použití bindování 1528ms, bez bindování jen 61ms. Je to důsledek toho, že při bindování se nepoužívá query_cache, která rapidně zvyšuje výkon MySQL.

z_moravec, autor článku   NOVÝ
3. 6. 2010

Reagoval na komentář od uživatele Dundee :
A jo, máš pravdu. Já to jen přeletěl očima, teď jsem se na to podíval podrobněji. Trochu jsem googlil a skutečně se zaplou query cache bindování nevychází výkonově lépe.

blavaciko   NOVÝ
4. 10. 2010

zdravim,


snazim sa prepisat nejake kody a skusam tento system na mysql, no vypisuje mi to error na tomto riadku

$stmt = MySQLi->prepare('SELECT `ID`, `Login`, `Prava`  

konkretne
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home1/zdravaka/public_html/bizniscentrum/plavanieCRM/test.php on line 10

vie niekto kde by mohla byt chyba?

Pred tymto kodom mam len pripojenie k db
$mysqli = new mysqli('localhost', 'zdravaka_plavani', '****', 'zdravaka_plavanie');


if ($mysqli->connect_error) {
die('Chyba pripojenia (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}


dakujem

z_moravec, autor článku   NOVÝ
5. 10. 2010

Reagoval na komentář od uživatele blavaciko :

Pokud máš ten řádek, tak jak je vypsaný v komentáři, tak se nediv, že to hlásí chybu. Je to pouze část, kód pokračuje na dalších řádcích. Musíš zkopírovat celý příkaz (v článku jsou to řádky 3-5).

Petr   NOVÝ
17. 4. 2011

Dobrý den,

mám sql dotaz, kde je ....where id_typ = ?

id_typ je nepovinna polozka, nekdy ji chci predat, nekdy ji predat nechci (v tom pripade chci, aby sql dotaz probehl bez omezeni where id_typ = neco). Jak se tohle da predat v bind_param? Kdyz predam promennou, kde nastavim null, tak mi sql pak nevrati na vypise zadne radky.

Diky.

Martin   NOVÝ
23. 1. 2012

#12 Petr
Skusil bych neco jako 

$where = $id_typ == null ? "" : "WHERE id_typ = ?";

$sql = "tvuj dotaz $where pokracovani tveho dotazu";

mitches   NOVÝ
29. 8. 2012

Proč v dnešní době používat mysqli?  Daleko výhodnější je použít PDO, protože má podporu 12 driverů, Mysqli má podporu pouze pro mysqli. Dále taky PDO podporuje Prepared statements + je o něco rychlejší než mysqli. Vřele PDO doporučuji.

Zdeněk   NOVÝ
2. 4. 2022

Zdravím,

bohužel je použití  $stmt->bind_result($id, $login, $prava); zastaralé a zbytečné.
Od PHP verze 5.3(?) se to dělá takto: $vysledek = $stmt->get_result();

Také ten proměnný počet proměnných v bind_param je vyřešen pomocí pole, tedy
$stmt->bind_param($typy, ...$parametry);

https://zmsoft.cz/?str=parametrizovane-sql-dotazy-v-php-rozhran&hid=5&idmh=5

Přidej svůj názor

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo e-mailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Reaguješ na příspěvek:
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové názory e-mailem (pouze pro přihlášené)
Sleduj názory ke článku a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.



Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý