| Autor | Správa |
stenley
 Moderátor
 Založený: 27.07.2007 Príspevky: 3776 Bydlisko: Bratislava Vek: 27
 | Zaslal: Pi 07.12.07 14:20 |   |
hmm a ta premenna $_POST['meno'] existuje? alebo si naozaj pripojeny k databaze? vyskusaj si ten prikaz napr v phpmyadmine, ci ti pojde...
id je nazov stlpca v tabulke, ak ho tam nemas, chyba bude v tom... znamena to, ze ti ziska z tabulky len tuto polozku, nic ine... |
_________________ Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB | |
    |
 |
dulius
 Užívateľ
 Založený: 20.01.2007 Príspevky: 348
 | Zaslal: Pi 07.12.07 14:37 |   |
jasne, sakra ... ja som to skopiroval s tym id, pisal som, ze moja tabulka je taka:
| kód: |
CREATE TABLE IF NOT EXISTS `tabulka1` (
`cislo` int(3) NOT NULL auto_increment,
`email` varchar(50) collate cp1250_czech_cs NOT NULL,
`meno` varchar(20) collate cp1250_czech_cs NOT NULL,
`priezvisko` varchar(20) collate cp1250_czech_cs NOT NULL,
`obec` varchar(50) collate cp1250_czech_cs NOT NULL,
`vek` int(3) NOT NULL,
PRIMARY KEY (`cislo`) |
takze po prepisani
$sql = "SELECT id FROM tabulka1 WHERE meno='".$_POST['meno']."'";
na: $sql = "SELECT meno FROM tabulka1 WHERE meno='".$_POST['meno']."'";
mi to uz funguje
vdaka |
| |
  |
 |
dulius
 Užívateľ
 Založený: 20.01.2007 Príspevky: 348
 | Zaslal: Pi 07.12.07 15:26 |   |
no, a skusil som overit naraz 3 udaje ... meno, priezvisko a obec ...
ale nejde to ... zapise mi do tabulky aj ked su tieto 3 hodnoty rovnake ...
kod:
| kód: |
$pripojenie = mysql_connect("localhost", "***", "***");
mysql_select_db("dulius", $pripojenie);
//$sql = "SELECT meno FROM tabulka1 WHERE - toto slo v pohode, len s menom
$sql = "SELECT meno,priezvisko,obec FROM tabulka1 WHERE meno='{$_POST['meno']}' AND priezvisko='{$_POST['priezvisko']}' AND obec='{$_POST['obec']}'";
$result = mysql_query($sql);
$nums = mysql_num_rows($result);
if($nums_meno != 0 and $nums_priezvisko !=0 and $nums_obec !=0)
//if ($nums != 0) - toto som mal predtym, ked len meno som kontroloval
{echo 'take meno, priezvisko, obec uz existuje';}
else
{
$poziadavka = "INSERT INTO tabulka1 (email, meno, priezvisko, obec, vek) ";
$poziadavka .= "VALUES (\"$email\", \"$meno\", \"$priezvisko\", \"$obec\", \"$vek\");";
mysql_query($poziadavka) or die ("Stala sa chyba v spojeni s DB !");
mysql_close($pripojenie);
} |
kde robim chybu? |
| |
  |
 |
stenley
 Moderátor
 Založený: 27.07.2007 Príspevky: 3776 Bydlisko: Bratislava Vek: 27
 | Zaslal: Pi 07.12.07 15:35 |   |
chybu robis v tom, ze bezhlavo pouzivas kody, ktore ti sem niekto napise a nevies, co jednotlive prikazy znamenaju...
co podla teba znamna tento kus kodu?
| kód: | | if($nums_meno != 0 and $nums_priezvisko !=0 and $nums_obec !=0) |
je to uplne zle, v tvojom pripade nepouzitelne...
daj si tam namiesto toho toto:
a malo by to ist |
_________________ Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB | |
    |
 |
dulius
 Užívateľ
 Založený: 20.01.2007 Príspevky: 348
 | Zaslal: Pi 07.12.07 15:50 |   |
| stenley napísal: | chybu robis v tom, ze bezhlavo pouzivas kody, ktore ti sem niekto napise a nevies, co jednotlive prikazy znamenaju...
co podla teba znamna tento kus kodu?
| kód: | | if($nums_meno != 0 and $nums_priezvisko !=0 and $nums_obec !=0) |
je to uplne zle, v tvojom pripade nepouzitelne...
daj si tam namiesto toho toto:
a malo by to ist |
podla mna ten kus kodu
| kód: | | if($nums_meno != 0 and $nums_priezvisko !=0 and $nums_obec !=0) |
znamena, ze ak sucasne nie su nulove tieto 3 hodnoty, teda nums obsahuje nejake pole s 3 hodnotami a tie 3 hodnoty by mali byt nulove , vtedy to moze zapisat ... ale asi to zle chapem a potom rovnako aj ti ludia, co mi to sem napisali  |
| |
  |
 |
stenley
 Moderátor
 Založený: 27.07.2007 Príspevky: 3776 Bydlisko: Bratislava Vek: 27
 | Zaslal: Pi 07.12.07 16:04 |   |
pre lepsie pochopenie, premenna $nums obsahuje len jednu hodnotu tykajucu sa poctu vysledkov (riadkov), ktore vratil select (v tvojom pripade), cize obsahuje nejake cislo, ale ak nastala chyba, tak vracia false
ty tie premenne ($nums_meno, $nums_priezvisko, $nums_obec) ani nemas definovane, cize sa automaticky vykona vetva else - pridanie noveho riadku do tabulky... |
_________________ Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB | |
    |
 |
dulius
 Užívateľ
 Založený: 20.01.2007 Príspevky: 348
 | Zaslal: Po 10.12.07 13:40 |   |
|
  |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
|