Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: usuwanie rekordu z bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
dekrzycho
witam. mozecie mi pomoc poniewaz nie moge usunac rekordu z bazy jesli spelniony jest warunek. oto kod jaki napisalem

Kod
if ($letter!="on")  
  {
     // Check for valid user
     $duplicate = @mysql_query("select count(*) no_of_records from newsletter where email1='$email1'");

     if (!$duplicate)
    {
        echo("Error performing query: " . mysql_error());
    }

     $row_duplicate = mysql_fetch_array($duplicate);

     if (($row_duplicate['no_of_records']) == "0")
     {
      // usuwanie rekordu
          $usun = "delete from newsletter where
                   email1='$email1'";
            //   mysql_query($sql);  
    
      if (@mysql_query($usun))
      {
        // echo("Thank you for registering");
        // echo($pageid);
        // echo($title);
        echo ("<meta http-equiv=refresh content=0;url=index.php>");
      }
      else
      {
          //echo ("This email address is already present in our database. Please check you entered the correct address. If you have, you may have already registered and do not need to register again.");
          echo ("<meta http-equiv=refresh content=0;url=index.php>");
          exit();
      }
     }
     //else
     //{
     //    echo ("Error registering user: " . mysql-error());
        //}

   }
Możecie rzucić okiem i określić co robie żle, może jakieś poprawki...
wielkie dzięki z gory
Kinool
Kod
if ($row_duplicate['no_of_records'] == "0")


po primo: przy wartosciach liczbowych nie uzywaj " bo w ten sposub traktowane jest to jako string coprawda rezultat powinien byc podobny ale niepotrzebie sie wprowadza zamet smile.gif

po sekundo: czy to jest poprawny warunek?? nie powinno byc przypadkiem $row_duplicate['no_of_records'] > 0 questionmark.gif

bo skoro liczba (count(*)) pozycji spelniajacych ten warunek jest rowna 0 to co niby ma byc usuniete??

chyba ze cos przegapilem.

--- EDIT ---

Kod
if (($row_duplicate['no_of_records']) == "0")
uzycie nawiasow pomiedzy zmienna jest raczej zbede!
dekrzycho
Cytat(Kinool @ 2005-01-18 14:03:33)
Kod
if ($row_duplicate['no_of_records'] == "0")


po primo: przy wartosciach liczbowych nie uzywaj " bo w ten sposub traktowane jest to jako string coprawda rezultat powinien byc podobny ale niepotrzebie sie wprowadza zamet smile.gif

po sekundo: czy to jest poprawny warunek?? nie powinno byc przypadkiem $row_duplicate['no_of_records'] > 0 questionmark.gif

bo skoro liczba (count(*)) pozycji spelniajacych ten warunek jest rowna 0 to co niby ma byc usuniete??

chyba ze cos przegapilem.

--- EDIT ---

Kod
if (($row_duplicate['no_of_records']) == "0")
uzycie nawiasow pomiedzy zmienna jest raczej zbede!

masz racje pozinno być >0; zmienilem ale nadal nie działa może robie coś źle?questionmark.gif
może komenda która usuwa z bazy danych rekord jest źle napisana. no ale chce usunąć cały rekord z bazy"newsletter" w przypadku gdy jest spełniony warunek $letter!="on" i isnieje wartość email1 równa zmiennej $email1.
czy dobrze rozumuje, że jak te warunki są spełnione to powinien mi rekord usunąć...questionmark.gif
Kinool
pytanie usuwajace jest raczej ok przyczyna moze byc regiser_global uzywaj tablic globanych $_POST, $_GET itp.

dawaj tez w kazdem warunku kelementy kontrolne np. echo 'Warunek 1 ok'; itp. i bedziesz wiedzial jakie warunki sa spelniane a jakie nie co naprowadzi cie gdzie moze twkic ew. blad smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.