Autor Zpráva
DJ
Profil *
Ahoj, mám dotaz, možná primitivní, ale nemůžu se dohledat odpovědi. Chci z tabulky v databázi smazat jeden řádek, ale ještě předtím potřebuju zjistit jeho id. Jde to udělat jednodušeji a elegantněji než (bez toho while):

      $link = mysql_connect ("*****","*****","******") or die ( mysql_error());
      mysql_query("set names cp1250");
      $db = mysql_select_db("*****", $link) or die (mysql_error);
      $query = "SELECT * FROM general WHERE jmeno = '$delete'";
      $result = mysql_query($query,$link) or die (mysql_error());
      while ($row = mysql_fetch_array($result))
      {
           $poradi = $row["id"];
      }
      mysql_free_result($result);
      mysql_close();
      

? Předem díky za odpovědi!
Alphard
Profil
while tam samozřejmě být nemusí, stejně jako u všech jiných dotazů, kde se očekává jediný řádek.
Pokud by vám stačilo id, lze použít
$poradi = mysql_result(mysql_query("SELECT id FROM general WHERE jmeno = '".mysql_real_escape_string($delete)."'"), 0, 0);

Proč další změny?
mysql_real_escape_string() kvůli bezpečnosti.
Odkaz na spojení ($link) není nutné uvádět, pokud pracujete jen s jedním spojením (skoro vždy).

To or die (mysql_error()) bych všude nepsal, v ostrém provozu určitě není vhodné vypisovat chyby... Je dobré ošetřovat to trochu chytřeji.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0