Práce s MySQL - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



PHP

Práce s MySQL

24. února 1999, 00.00 | SQL stroje se staly základním stavebním kamenem většiny WWW serverů, a proto není divu že PHP obsahuje podporu pro většinu existujících SQL serverů. Pod linuxem je nejpoužívanější právě MySQL

SQL stroje se staly základním stavebním kamenem většiny WWW serverů, a proto není divu že PHP obsahuje podporu pro většinu existujících SQL serverů, včetně spojení pomocí ODBC. Tedy "obsahuje", podpora je přítomna jen v případě že ji zadáte při konfiguraci před kompilací PHP.

Zde si ukážeme jak komunikovat s MySQL, což je pod linuxem nejpoužívanější databáze. Syntaxe příkazů je velmi podobná céčkovskému API a na příkladu si ukážeme jak navázat spojení, položit dotaz a zpracovat výsledky.

K tomu budeme využívat následující fce:

int mysql_connect (string [hostname], string [username], string [password]);
  přípojí se k SQL stroji, fce vrací identifikátor MySQL spojení (link_id), v případě chyby false

int mysql_select_db (string db_name, int [link_id]);
  vybere db, fce vrací true nebo false

int mysql_query(string query, int [link_id]);
  položí SQL dotaz, pokud vše dopadlo OK fce vrátí MySQL result (výsledek :) ) jinak false

int mysql_num_rows(string result);
  vrátí počet řádek ve výsledku

int mysql_result(int result, int row, mixed field);
   navrátí hodnotu z výsledku na danné řádce a v danném políčku (lze indexovat jak číslem, tak jménem sloupce)

int mysql_close(int [link_id);

int mysql_affected_rows(int [link_id]);

   navrátí počet použitých řádků (v případě užití UPDATE, INSERT nebo DELETE)

Jak jste asi pochopili, parametry uzavřené do hranatých závorek nejsou povinné (většinou se jedné o id spojení k db, a pokud je jen jedno, není potřeba jej neustále opakovat. Na druhou stranu za to nic nedáte..)

A teď slíbená ukázka:


/* pripojeni do Mysql */
/* bez parametru => db musi byt na localhostu, povoleny pristup
   uzivatele pod kterym bezi apache a bez hesla */
$mysql=mysql_connect();

if (!mysql_select_db($db_name,$mysql))
 chyba("
Error nelze zvolit db: $db_name"); /* SELECTovani z tabulky */ $dotaz="SELECT data FROM tabulka"; $result= mysql_query($dotaz,$mysql); $pocet= mysql_num_rows($result); if (!$pocet) chyba("Nebyla vybrana zadna radka"); /* pouziti ziskanych dat */ for ($i=0; $i<$pocet; $i++) echo mysql_result($result,$i,0); /* INSERT */ $dotaz="INSERT INTO tabulka (url, popis) VALUES ('$url','$popis')"; $result= mysql_query($dotaz,$mysql); $pocet= mysql_affected_rows(); if(!$pocet) printf("%s", mysql_error()); printf("Pocet updatovanych zaznamu: %d",$pocet); mysql_close($mysql); ?>

 

Tématické zařazení:

 » Rubriky  » PHP  

 » Rubriky  » Web  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

Zatím nebyl uložen žádný příspěvek, buďte první.

 

 

Vložit nový příspěvek

Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: