Autor | Zpráva | ||
---|---|---|---|
symmetry Profil |
#1 · Zasláno: 5. 2. 2008, 14:49:47
Zdravím
Mám skript,který sice funguje ale pri zapisu,do Mysql vypisuje chybovou hlasku,ktere bych se potreboval zbavit. Děkuji,za jakoukolliv radu. Tuším,že to bude v dotaz na Mysql,ale nevím,už jak dále:( Hlaska je tato: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/free/ic.cz/j/jirivavru/root/www/novinky_mailem/zadani-mailu.php on line 46 Duplicate entry 'mail@seznam.cz' for key 1 Dotaz na MYsql je: CREATE TABLE IF NOT EXISTS `seznam` ( `mail` varchar(255) collate utf8_czech_ci NOT NULL, `jmeno` varchar(255) collate utf8_czech_ci NOT NULL, PRIMARY KEY (`mail`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=UTF8_czech_ci; a skript samotny: <form action="?vlozit=1" method="post"> <fieldset> <label for="fun-text">E-mail pro zasílání novinek:</label> <p><input type="text" name="funclub" id="fun-text" /></p> <label for="jmeno">Zadejte prosím vaše <strong>jméno</strong>:</label> <p><input type="text" name="jmeno" id="jmeno" /></p> <label for="hodnota-text">Opište prosím číslicí <strong>osm</strong>:</label> <p><input type="text" name="hodnota" id="hodnota-text" /></p> <p><input type="submit" value="ok" /></p> </fieldset> </form> <?php mysql_connect ( "mysql.ic.cz", "db", "pass" ); mysql_select_db("db"); mysql_query("SET NAMES 'utf8'") or die('Could not set names'); /*spojení s databází*/ $hodnota = $_POST['hodnota']; $funclub = $_POST['funclub']; $jmeno = $_POST['jmeno']; /*příjem proměnné, která je odesílána z formuláře*/ if ($_GET['vlozit'] == 1) { /*kontrola, zda chce form. někdo odelslat*/ if (empty($funclub)) { /*jestli je pole prázdné, vypíše se varování*/ echo "<small>Musíte vyplnit e-mailovou adresu!</small>"; } if (empty($jmeno)) { /*jestli je pole jmeno prázdné, vypíše se varování*/ echo "<small>Musíte vyplnit jméno!</small>"; } if($hodnota != "8") echo "<small>Zadejte správně ověřovací kod</small>"; /*jestli je pole jmeno prázdné, vypíše se varování*/ else { $dotaz = "INSERT INTO seznam (mail, jmeno) VALUES ('$funclub', '$jmeno')"; $vysledky = mysql_query ($dotaz) or die (mysql_error()); $cislo = mysql_num_rows($vysledky); /*kontrola, jestli zadaná e-mailová adresa již v databázi není*/ if ( $cislo == 0 and !empty($funclub)) { $dotaz = "INSERT INTO seznam (mail) VALUES ('$funclub')"; $vysledky = mysql_query ($dotaz) or die (mysql_error()); /*vloží se adresa do DB*/ echo "<small class='vyrazny'>E-mail je uložen.</small>."; /*Vypíše hlášku, která se zobrazí po přidání mailu do DB*/ } elseif (!empty($funclub)) { echo "<small class='vyrazny'>Tento e-mail už v seznamu je!</small>"; /*Vypíše hlášku při shodě e-mailů v databázi*/ } } } ?> |
||
fandaa Profil |
#2 · Zasláno: 5. 2. 2008, 15:02:11
$dotaz = "INSERT INTO seznam (mail, jmeno) VALUES ('$funclub', '$jmeno')";
$vysledky = mysql_query ($dotaz) or die (mysql_error()); $cislo = mysql_num_rows($vysledky); Snad třeba $dotazdalsi=mysql_query("SELECT mail FROM seznam"); $cislo = mysql_num_rows($dotazdalsi); |
||
symmetry Profil |
#3 · Zasláno: 5. 2. 2008, 20:41:10
Doplnil jsem to,ale porad stejny vysledek..mohl by jsi to napsat,jak jsi to presne myslel,ten kus toho kodu?
Děkuji. |
||
symmetry Profil |
#4 · Zasláno: 5. 2. 2008, 20:42:12
Doplnil jsem to,ale porad stejny vysledek..mohl by jsi to napsat,jak jsi to presne myslel,ten kus toho kodu?
Děkuji. |
||
Časová prodleva: 16 let
|
0