Problem se ctenim z databaze

From: Martin Zeidler (zm@wo.cz)
Date: 25. 12. 2000, 18:39 CET


Dnes jsem stravil pul dne nad tim proc mi nechce chodit jeden script a
stejne jsem na to neprisel :o(
Ucim se PHP + MySQL z knizky od J.Koska. Ma tam databazove + objektove
pocitadlo pristupu na stranky, ale ma ho napsane pomoci ODBC. Musel jsem to
teda prepsat na MySQL, ale nekde mam chybu:

Mam tabulku:

CREATE TABLE pristupy (
   Stranka char(80) NOT NULL,
   Pocet int(11),
   ID char(14) NOT NULL,
   Pridano date,
   PRIMARY KEY (Stranka)
)

Mam tenhle script, ktery vytvori novy zaznam v tabulce, pokud tam stranka
neni(IF). Pokud tam je, mel by precist ulozene hodnoty(ELSE) - a to mi
nefunguje...

<?
class Pocitadlo
{
    var $_pocet = 0;
    var $_denniPocet = 0;
    var $_od = "1970-01-01";

    function Pocitadlo() // konstruktor, který aktualizuje počty přístupů
    {
     if ($GLOBALS["COUNTING"]=="OFF") return; // někdy přístup nepočítáme
     $dnes = Date("Y-m-d");
     $jmenoSkriptu = $GLOBALS["PATH_INFO"];

       $spojeni = MySQL_Connect("localhost");
       if (!$spojeni) return;
       $spojeni = MySQL_Select_DB("test");
       if (!$spojeni) return;

     $vysledek = MySQL_Query("SELECT Pocet, ID, Pridano FROM Pristupy WHERE
Stranka = '$jmenoSkriptu'");
     if (!MySQL_Fetch_Array($vysledek)):
          $this->_pocet = 1;
// stranku pridame do databaze - to funguje
          $ID = UniqID("");
          $this->_od = Date("Y-m-d");
          MySQL_Query("INSERT INTO Pristupy VALUES (
         '$jmenoSkriptu', 0,
         '$ID', '$dnes')");
      else:
          $zaznam = MySQL_Fetch_Array($vysledek);                    // tady
by to melo cist, ale necte
          $this->_pocet = $zaznam["Pocet"] + 1;
          echo "Počet přístupů: ".$this->_pocet."<br>";
// echo nevypise zadny pocet
          $ID = $zaznam["ID"];
          echo "Tady vypiseme ID: ".$zaznam["ID"]."<br>";               //
echo nevypise zadne ID
          $this->_od = $zaznam["Pridano"];
          echo "Odkdy: ".$zaznam["Pridano"]."<br>";
//  a zadny vypis odkdy
     endif;

================== tady je to useknute kvuli delce scriptu...

Do databaze se stranka prida spravne, po pridani ma tabulka tento tvar:

Stranka               Pocet       ID                            Pridano
/pocitadlo.php3   1              3a478097761dd      2000-12-25


Naprosto nevim kde je problem - zrejme v tom SQL dotazu SELECT, ale ten
vybira podle
WHERE Stranka = '$jmenoSkriptu'
a to je vzdy stejne - /pocitadlo.php3 a po pridani do tabulky je to stejne i
pri dalsim pruchodu a tedy cteni - ale SELECT vraci prazdno :o((

Vim ze neni moc velka zabava hrabat se v cizich skriptech, ale nemam tam
nejakou zacatecnickou hrubku??

Martin Zeidler
----------------------
mailto:pepa_z_hongkongu@wo.cz
http://zeidler.web.worldonline.cz
http://kopec.web.worldonline.cz



This archive was generated by hypermail 2.1.2 : 04. 09. 2001, 04:47 CEST