ugrás a tartalomhoz

MySQL error: Table 'nick' already exists

ppsh_007 · 2008. Ápr. 29. (K), 13.35
Sziasztok!
Az oldalamat sikeresen meg írtam de amikor regisztrálni akarok ezt irja ki:

mysql_query(): MySQL error: Table 'nick' already exists in /nfs/extra/g/gz/gzorg/wwwroot/regi.php: mysql_query on line 17
in /nfs/extra/prepend/prepend.php(159) : system created function on line 36


Azt én is értem hogy a regi.php-ban van a hiba de mi?
Itt a regi.php
<?php
print "<link href='fr.css' type='text/css' rel='stylesheet'><br><br><br><br><br><br><br><br><br><br><body background='pic/fooldhatter.jpg'><center><center><table><tr><form method=post action='$php_self'>";
print "<td>Név:</td><td><input type=text name='nick'></td>";
print "<tr><td>Jelszó:</td><td><input type=password name='pass'></td></tr>";
print "<tr><td>Jelszó mégegyszer:</td><td><input type=password name='pass2'></td></tr>";
print "<td>E-mail cím:</td><td><input type=text name='mail'><br></td></tr>";
print "<td>Faj:</td><td><select type=select name=faj>
   <option selected value='tundef'>Tünde/Férfi</option>
   <option value='tundel'>Tünde/Nő</option> 
   <option value='torpf'>Törp</option>
   <option value='emberf'>Ember/Férfi</option>
   <option value='emberl'>Ember/Nő</option>
   <option value='ork'>Ork</option>
</select><br></td></tr>";
print "<td><br></td><td><input type=submit value=Regisztrál></form></td></tr>";
include("config.php");
$parancs01 = mysql_query("create table nickek(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nev varchar(20), jelszo varchar(50), mail varchar(40))");
$ellenoriz = mysql_query("select nev from nickek where nev = '$nick'");
$ellenoriz2 = mysql_query("select mail from nickek where mail = '$mail'");
$szam = mysql_num_rows($ellenoriz);
$szam2 = mysql_num_rows($ellenoriz2);
if ($nick == "" && $pass == "" && $pass2 == "" && $mail == "" )
{
}
else
{
if ($pass != "" && $pass2 != "" && $pass != $pass2 )
{
print "<font color=red><b>Hiba:</b> Nem egyezik meg a 2 jelszó!</font>";
}
else
{
if ($szam == 0 )
{
if ($szam2 == 0 )
{
  if ( $nick != "" )
    { 
         if ( $pass != "" )
              { 
                    if ( $mail != "" )
                    { 
$parancs02 = mysql_query("INSERT into nickek (nev, jelszo, mail, faj) values ('$nick', '$pass', '$mail', '$faj')");
print "<font color=green><b>Sikeres Regisztráció!</b> Adataidat sikeresen felvettük az adatbázisba</font>";
                    }
                    else
                    {
                    print "<font color=red><b>Hiba:</b> Nem adtál meg e-mail címet</font>";
                    }
              }
              else
              {
              print "<font color=red><b>Hiba:</b> Nem adtál meg jelszót</font>";
              }
    }
  else
    {
     print "<font color=red><b>Hiba:</b> Nem adtál meg nevet</font>";
    }
}
else
{
print "<font color=red><b>Hiba:</b> Erről az E-mail címről már regisztáltak!</font>";
}
}
else
{
print "<font color=red><b>Hiba:</b> Ez már egy regisztrált felhasználónév</font>";
}
}
}
?> 
Ennyi.
Ha valaki tudja mit rontotam el írjon ha hülyeséget írtam akkor szidjon le!:-D
 
1

create

duplabe · 2008. Ápr. 29. (K), 14.10
A script minden futásakor egy új táblát akarsz csinálni. A hibaüzenet azt írja, hogy már létezik. (Bár nem pontosan, mert nickek táblát akarsz csinalni, a hibaüzenet meg a nick tábláról szól, de gondolom próbálkoztál ezzel-azzal és nem pontosan a scripthez tartozó kimenetet másoltad be)

Vagy kiszeded ezt:
# $parancs01 = mysql_query("create table nickek(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nev varchar(20), jelszo varchar(50), mail varchar(40))");
vagy átírod erre:
# $parancs01 = mysql_query("create table IF NOT EXISTS nickek(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nev varchar(20), jelszo varchar(50), mail varchar(40))");  
De az lenne a legjobb, ha kiszednéd.
2

Semmi

ppsh_007 · 2008. Ápr. 29. (K), 18.35
Meg próbáltam mind kettőt de ugyan az történik csak nem irja ki a hibaüzenetet!
Nézd meg a honlapot!
Itt a honlap
3

Create table csak egyszer

torso · 2008. Ápr. 30. (Sze), 17.19
Szia!

Van egy adatbázisod, azon belül egy nickek táblád, a kódod szerint ezt minden alkalommal létre akarod hozni.
Tehát a 17. sor tök fölösleges.

G.
4

ok

ppsh_007 · 2008. Május. 1. (Cs), 21.03
Ja!
Jó már kijavitotam a hibát!
Kösz!:-D
5

SQL inject

Őry Máté · 2008. Május. 2. (P), 16.04
Ugye tisztában vagy azzal, hogy tetszőleges SQL kódot is lefuttathatnak a felhasználóid? Például az egész (összes) tábla törlését.
6

azt azért nem biztos...

Szekeres Gergő · 2008. Május. 3. (Szo), 10.12
...csak ha engedélyezve van több query egyidejű elküldése.
7

mysql_query nem tudja

Hodicska Gergely · 2008. Május. 3. (Szo), 15.04
mysql_query esetén nincs erre lehetőség.

Üdv,
Felhő