PHP - 27. díl – začlenění SQL příkazů do PHP

Diskuze čtenářů k článku

Alucard  |  23. 09. 2006 12:28

Mozete mi prosim poradit co mam robit ked ma moje MySql nechce nikam pustit? Vypisuje mi to asi tak toto:

C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqlshow.exe: Access denied for user 'ODBC'@'localhost' (using password: NO)

a to hocikedy ked spustam iny MySql prog alebo aj ked chcem zalohovat tabulku...A netusim co s tym mam robit.Dik

Souhlasím  |  Nesouhlasím  |  Odpovědět
Paulo Grande, Paulo Grande  |  16. 06. 2006 16:04

mohl by mi nekdo plss vysvětlit tento řádek: echo '', $radek[$i], ''; thx

Souhlasím  |  Nesouhlasím  |  Odpovědět
Martin  |  11. 01. 2006 23:47

Jak v tom mam udelat, aby ta tabulka zobrazovala udaje pod sebe. takhle vysledek je, ze ukaze 1 radek a kdyz mam radky dva tak to pise vse vedle sebe a ne pod sebe
Diky za odpoved 

Souhlasím  |  Nesouhlasím  |  Odpovědět
Pafin  |  29. 12. 2005 13:05

Cauky potrebuju heplnout  zad bych vytvoril databazi ale nevijak a co je k tomu potreba, teda krome mySQL serveru ten mi bezi.
proste potrebuju vedet jak vytvorit databazi, jak tam pomoci PHP vlozit ci smazat vetu a tak ..... Neco jako pokus na http://ujiricka.wz.cz/1/unban.php sem v tom zacatecnik tak nekritizovat

Souhlasím  |  Nesouhlasím  |  Odpovědět
sfera  |  08. 10. 2004 08:01

Prosim, kdo mi poradi? Jsem zacatecnik. Kdyz zkousim nacist data z databaze pomoci PHP do tabulky, neni to cesky. Ceske znaky jsou nahrazeny klikyhaky.
Diky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Kodam..  |  30. 07. 2007 15:29

Je to proto že jsi přidával řádek do tabulky přes rozhraní DOSu - tam to diakritiku ničí.. pokud ale budeš přidávat údaje do databáze přes PHP, tak to pojede vpohodě (viz.28.díl)

Souhlasím  |  Nesouhlasím  |  Odpovědět
Winkey  |  17. 08. 2004 15:49

Mohu nějakým způsobem zjistit počet vybraných řádků po použití funkce mysql_query(`SELECT * FROM Osoby,$id_spojeni) , ještě před načtením jednotlivých řádků pomocí funkce mysql_fetch_row($id_vysledku). Abych mohla nejdříve napsat počet záznamů vyhovujících vyhledávací podmínce a pak je teprve vypsat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jan Pospisil  |  19. 08. 2004 08:25

Jo, pomoci funkce mysql_num_rows()

Souhlasím  |  Nesouhlasím  |  Odpovědět
Winkey  |  21. 08. 2004 16:07

Díky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Tomáš  |  12. 08. 2004 20:02

V PHP se nevyznám, ale zdá se mi, že používání fce mysql_query je pro MySQL. Pro jinou SQL DB se to musí celé přepsat? Nebo existuje nějaký obecnější příkaz, nezávislý na typ DB, ze které se tahají data.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Martin  |  13. 08. 2004 00:25

Existuje objektová nastavba PEAR, tam je to velmi elegantně vyřešeno. Také si můžeš napsat vlastní abstrakci. Např.:
$db = DB::connect("mysql://lama23:veslo@localhost/bazedat");
$r = $db-query("select * from lednice");
while ($row = $result-fetchRow()) {
echo $row[0]."<br>\n";
}

Souhlasím  |  Nesouhlasím  |  Odpovědět
Martin  |  13. 08. 2004 00:26

Ještě doplnění - ta ukázka je z PEARu a druhý řádek měl být:
$r = $db->query("select * from lednice");

Souhlasím  |  Nesouhlasím  |  Odpovědět
Ondrej Novak  |  12. 08. 2004 15:09

Rada pro začínající PHPisty. Pokud hodláte své dílko později prezentovat na nějakém webu, pak než zadávat parametry server, jmeno, heslo, databaze přímo, je lepší si je dát do nějakého configu, třeba do souboru config.inc.php

$db_server="localhost";
$db_username="root";
$db_password="";
$db_database="pokus":

výše jmenované proměnné pak použít pro mysql_connect atd. Nezapomenout všude config includovat pomoci require_once. Až budete svou aplikaci přenášet na jiný server, stačí opravit jen config.inc.php.

Dalsim vylepsenim je vytvorit si v chranenem adresari soubor setup.php do ktereho napsat program na vytvareni databaze. Není pak problém svůj soft distribuovat jiným uživatelům

Souhlasím  |  Nesouhlasím  |  Odpovědět
HumanHands  |  12. 08. 2004 11:18

Rozhodne bych nepouzival uzivatele root (a navic BEZ hesla!!!) ani na intranetovem serveru. Statistiky jasne rikaji ze nejvice utoku na bezpecnost prichazi ZEVNITR spolecnosti. Napiste prosim clanek o MySQL / SQL databazich, jak vytvorit jine uzivatele nez roota, jak jim pridelovat prava podle principu 'jen nejnutnejsi prava nezbytna pro samotny chod' (uzivatel pro cteni, uzivatel pro zapis) a jak pridelovat jednotlivym uzivatelum prava k tabulkam (GRANT OPTION). Bezpecnost alespon na zakladni urovni je uz dneska fakt nezbytna, zvlaste pro zacateniky. Je velmi dobre vybudovavat dobre navyky hned od pocatku. Vice viz. MySQL manual.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Martin Koníček  |  12. 08. 2004 13:07

já bych na příkladě klidně roota použil Většina lidí doma testuje na nějaké instalaci ve Windows, kde to není problém

Navíc, stejně když skripty dávám na linuxový server na hostingu, tak je celkem jasné, že to nastavení musím změnit, prostě nevím, ale tohle bych článku nevyčítal, je to přeci jenom ukázka a většina lidí si testuje své skripty s minimálním zabezpečením

Souhlasím  |  Nesouhlasím  |  Odpovědět
HumanHands  |  12. 08. 2004 13:28

Pokud chcete psat dobre programy, urcite uznate, ze je zapotrebi je dobre designovat a take dobre otestovat. Proc tedy testovat a ladit svuj vyvoj na jinem, nez produkcnim prostredi? (V ramci moznosti, nebudu si domu kupovat Sun:) ). A pokud designuju aplikaci, ktera bude mit jen minimalni sanci dostat se k sitovemu vyuziti (tozn. neplanuju ji pouzivat jen ja a pouze na nezasitovanem lokalnim pocitaci), pak je treba delat design i s myslenkou na bezpecnost.

Predpokladam (snad spravne), ze autor clanku by chtel naucit lidi jak DOBRE progamovat v PHP a ne jak prasit kod na tisic ruznych zpusobu. A k dobremu programovani patri etika design/testy/implementace. Na to neni treba byt genius, pokud se na to upozorni i zacatecnik, nebude se muset pozdeji odnaucovat zlozvyky, ktere by ho mohly pozdeji velice potrapit.


Mozna vas to prekvapi, ale i v oblasti linuxu existuji zacatecnici, kteri proste nevi o bezpecnosti tolik (zvlast kdyz migruji ze sveta windows) a jsou schopni si ponechat defaultne prazdne mysql admin heslo na sve domaci masine pripojene pomoci ADSL s pevnou IP permanentne k netu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Korel  |  12. 08. 2004 08:15

Nebudu uz znovu vkladat kod, ale jde o to, ze v poslednim priklade se nejak "setri" s TR tagama... Respektive je tam autor pro jistotu vubec nedal (mysleno u radku, ktere se vypisuji z db).

Souhlasím  |  Nesouhlasím  |  Odpovědět
Korel  |  12. 08. 2004 08:14

while($radek = mysql_fetch_row($id_vysledku))
{
for ($i=0; $i

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor