Názory ke článku PHP a MySQL – MySQLi – 1. 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 – 1. díl – Programujte.comNázory ke článku PHP a MySQL – MySQLi – 1. díl – Programujte.com

 

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

Vojtěch Vondra   NOVÝ
14. 1. 2010

Proč používáš escape_string() pro číselnou hodnotu, tam nepatří nic takového, stačí obyčejný intval() nebo (int).

z_moravec, autor článku   NOVÝ
14. 1. 2010

Reagoval na komentář od uživatele Vojtěch Vondra :
Je to jen příklad, v reálu ti samotný escape_string taky většinou nestačí a je potřeba ověřovat data i jiným způsobem. Ale to jsem tady nechtěl rozebírat, protože to není předmětem článku.

gogloid   NOVÝ
14. 1. 2010

Nerad bych jakkoliv otřásal kvalitou či tématem článku, jen si myslím, že ještě vhodnější by bylo použít DiBi - http://dibiphp.com/. Tato knihovna je stylem ovládání podobná driveru MySQL či MySQLi, ale má některé velmi příjemné vlastnosti, které usnadňují její používání (pro příklad několik způsobů, jak z výsledku dotazu dostat data - jen jako jednu hodnotu, do pole (pro jeden řádek), do pole polí, pole indexované vámi daným způsobem...) a umí pracovat i s jinými databázemi než jenom s MySQL.

z_moravec, autor článku   NOVÝ
14. 1. 2010

Reagoval na komentář od uživatele gogloid :
Dibi je samozřejmě velmi užitečná knihovna, ale ne vždy ji lze použít. Problémy mohou být např. s licencí, atd.

vrana   NOVÝ
14. 1. 2010

Bylo by vhodné uvést, čím je extenze MySQL neefektivní.

V článku se píše o dvou způsobech detekce chyby, v kódu je ale uveden jen jeden. Ten by navíc měl fungovat už od PHP 5.2.9.

Metoda escape_string je použita špatně. Slouží výhradně pro ošetření řetězce uzavřeného do apostrofů (nebo uvozovek). Příklad v článku je stejně nebezpečný, jako kdyby se funkce vůbec nepoužila.

z_moravec, autor článku   NOVÝ
15. 1. 2010

Reagoval na komentář od uživatele Jakub Vrána : Díky. Ten mysql_escape jsem změnil na string (aby se to v diskuzi neobjevilo ještě pětkrát :-).

Ten zbytek zakomponuju do pokračování.

marioff   NOVÝ
16. 1. 2010

dobry clanok, uz dlhsie sa nutim prepisat par aplikacii z mysql na mysqli, ale nejak sa mi do toho nechce, ale asi si ma "prehovoril"

diki zdenek

Vítězslav Mergl   NOVÝ
8. 2. 2010

Obsahuje Mysqli standartni instalace např apache? jaka je podpora? Rád bych se podíval na zdrojové kody teto knihovny. Kde bych je mohl najít? Díky

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

<p>Reagoval na komentář od uživatele Vítězslav Mergl : MySQLi je osučástí balíčku PHP 5. Zdrojové kódy: http://dev.mysql.com/tech-resources/sources.html</p>

blavaciko   NOVÝ
7. 10. 2010

Zdravim,
mam dotaz, kde vyberam udaje z dvoch databaz naraz na zaklade dnesneho datumu vyberiem z databazy rezervacie udaje o rezervacii na dany den, vratane id dietata ku ktoremu rezervacia patri a z druhej databazy chcem ziskat meno toho dietata.
v phpmyadmin mi dotaz prebehne v poriadku a vypise vsetky udaje, takze dotaz by mal byt ok, no php mi k nemu nechce priradit vysledky. vie mi niekto pomoct ako by som sa k nim mohol dostat?
Dakujem



$mysqli = new mysqli($host, $dbname, $pass, $db);
if ($mysqli->connect_error) {
die('Chyba pripojenia k databaze, cislo chyby: (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
$vysledek = $mysqli->query("SELECT * FROM rezervacie,evidchild WHERE evidchild.id=rezervacie.idchild AND `date` = '$date' ORDER BY start DESC");



while ($uzivatel = $vysledek->fetch_assoc())
{
$idrez=$uzivatel['rezervacie.id'];
$child=$uzivatel['evidchild.surname'];
$idclass=$uzivatel['class'];
$start=$uzivatel['start'];
$start=$uzivatel['start'];
if ($uzivatel['rezervacie.paid'] != 1){
$paid = "Nie";}
else {
$paid = "Ano";}


echo "<tr><td><a href=\"?page=vypisrez&idrez=$idrez\">$child</a></td><td>$idclass</td><td>$start</td><td>$paid</td><tr>";
}
$vysledek->free_result();
$mysqli->close();


?>

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

Reagoval na komentář od uživatele blavaciko :
1) Pleteš si pojem databáze a tabulka
2) Doporučuju v dotazu vyjmenovat sloupce tabulky, které tě zajímají a přiřadit jim alias, pak se k nim v php snadno dostaneš:

$vysledek = $mysqli->query("SELECT `rezervacie`.`id` AS `rez_id`,  `evidchild`.`surname` As `child_surname`, ...

FROM rezervacie,evidchild WHERE evidchild.id=rezervacie.idchild AND `date` = '$date' ORDER BY start DESC");
...
$idrez=$uzivatel['rez_id'];
$child=$uzivatel['child_surname'];

blavaciko   NOVÝ
8. 10. 2010

Reagoval na komentář od uživatele Zdeněk Moravec :
Dakujem,
samozrejme som myslel z viacerych tabuliek, ktore su ulozene v tej istej db.
Tato moznost tu je, ale potrebujem vybrat v podstate vsetky stlpce z oboch databaz, tak som myslel ci nie je nejake jednoduchsie riesenie ako vsetko rozpisovat.
Dakujem aj tak :)

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

Reagoval na komentář od uživatele blavaciko : Ono se obecně doporučuje nepoužívat select *, ale poctivě vyjmenovat všechny sloupce, které potřebuješ. Pokud používáš sql dotaz s JOINem v php, tak je to v podstatě nutnost.

Koudy   NOVÝ
11. 12. 2011

Jakej je rozdíl (prosím ukázku) mezi mysqli procedurálním a objektovým??

z_moravec, autor článku   NOVÝ
11. 12. 2011     web

#14 Koudy
http://cz.php.net/manual/en/mysqli.connect.php

Mildhouse   NOVÝ
26. 3. 2012

Zdravim, proč je u první ukázky (připojení k DB) polovina kódu zkomentářovaná?

Mildhouse   NOVÝ
26. 3. 2012

#16 Mildhouse


Jo už to vidim, ono to není v komentáři, každopádně prohlížeč (Chrome i FF) si myslí, že ano.

Okilm   NOVÝ
5. 2. 2014

Taky jsem to objevil až po rozbalení zdrojáku. Chtělo by to v ukázkách kódu nahradit všechny <> za &lt;&gt; entity pro ty, co to neumí přímo v nástrojích pro vývojáře v prohlížečích...

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ý