Autor Zpráva
Janvesely12
Profil
Pokud bych chtěl dát error pokud jméno nebo cokoliv jiného bude existovat v databázi mohu použít toto:
<?php
$con = mysql_connect("localhost","AA","AA");
if (!$con)

mysql_select_db("my", $con);

$result = mysql_query("SELECT jmeno FROM db");

while($row = mysql_fetch_array($result))
  {
  echo "Jméno" . $row['jmeno'] . "již existuje.";
  else "Jméno" . $row['jmeno'] . "neexistuje.;
  }

mysql_close($con);
?> 
Tohle bych mohl použít?
Spectator
Profil
Zkus si to. :-)

Rovnou dej do dotazu podmínku, která to zjistí.
"SELECT jmeno FROM db WHERE jmeno = 'NejakeJmeno'"

Pokud ti to vrátí počet řádků roven nule, tak tam nic takového není.
mysql_num_rows($result)
Janvesely12
Profil
OK, díky, mě ani tak jestli by to fungovalo nešlo. Spíše o to aby v tom nebyl nějaký problém, např. takhle se to provádět nemá atd.
Díky za nápad.
Han
Profil
Spectator:
Neviem či som to pochopil správne, ale myslím že by stačilo použiť COUNT v dotaze a bude to menej náročné. Teda, ak nie je treba vyťahovať dáta a spočítať, ale len overiť či daný záznam jestvuje.
$result = mysql_query("SELECT COUNT(*) as Pocet FROM db WHERE `jmeno`= $meno");
$row= mysql_fetch_array($result);

if ($row['Pocet'] != 0) {
   // Máme záznamy
   }
else {// Nemáme záznamy       
        }   


Aha, vypisuješ error s daným menom. Tak nevypisovať potom meno z DB, kedže ak tam nie je záznam podľa kritérií, meno to nevypíše. Ale vypísať meno predtým zadané, čiže nejakú premennú $meno.
Janvesely12
Profil
Považoval jsem za vyřešené já to udělal takto:
<?php
$con = mysql_connect("localhost","AA","AA");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("db", $con);


$sql="SELECT jmeno FROM DB WHERE jmeno = '$_GET[jmeno]'";

$result =  (mysql_query($sql,$con));
$num_rows = mysql_num_rows($result);

if ($num_rows > 0)
{
 echo "Jméno existuje";
 }
 else
 {echo "Jméno neexistuje";
}
echo "<br>BB";

mysql_close($con)
?> 
Han
Profil
Aj takto to ide, ale pýtam sa, načo ťaháš z DB jmeno keď ho neskôr nepoužívaš? Samozrejme, toto funguje, len je to menej výkonné :) Ak ti to tak sedí, používaj to ďalej.

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