Autor Zpráva
xxxadam577
Profil
zdravím, snažím se zapsat do DB příkazem
$mysqli->query("INSERT INTO tabulka values('".$psc."', '".$nazev."', '".$ulice."', '".$cp."', '".$cp_doplnek."', '".$obec."', '".$okres."', '".$telefon."', '".$email."', '".$po_od1."', '".$po_do1."', '".$po_od2."', '".$po_do2."', '".$po_od3."', '".$po_do3."', '".$ut_od1."', '".$ut_do1."', '".$ut_od2."', '".$ut_do2."', '".$ut_od3."', '".$ut_do3."', '".$st_od1."', '".$st_do1."', '".$st_od2."', '".$st_do2."', '".$st_od3."', '".$st_do3."', '".$ct_od1."', '".$ct_do1."', '".$ct_od2."', '".$ct_do2."', '".$ct_od3."', '".$ct_do3."', '".$pa_od1."', '".$pa_do1."', '".$pa_od2."', '".$pa_do2."', '".$pa_od3."', '".$pa_do3."', '".$so_od1."', '".$so_do1."', '".$so_od2."', '".$so_do2."', '".$so_od3."', '".$so_do3."', '".$ne_od1."', '".$ne_do1."', '".$ne_od2."', '".$ne_do2."', '".$ne_od3."', '".$ne_do3."', '".$kategorie."', '".$search."', '".$lat."', '".$long."', '".$zdroj."', '".$web."')");    
            echo "Přidáno";  
Bohužel se to do DB nezapíše. Nehlásí to chybu a echo se zobrazí. Předpokládám, že budu mít chybu v příkazu. Jinak je to správně počtově, s DB to ladí.
nightfish
Profil
Co ti řekne echo $mysqli->error?
xxxadam577
Profil
Mlčí, výběr dat z DB není problém


Struktura tabulky
CREATE TABLE `tabulka` (
  `ID` int(4) NOT NULL,
  `PSC` int(5) NOT NULL,
  `NAZEV` varchar(14) COLLATE utf8_czech_ci NOT NULL,
  `ULICE` varchar(35) CHARACTER SET utf8 NOT NULL,
  `CP` varchar(5) CHARACTER SET utf8 NOT NULL,
  `CP_DOPLNEK` varchar(4) CHARACTER SET utf8 NOT NULL,
  `OBEC` varchar(38) CHARACTER SET utf8 NOT NULL,
  `OKRES` varchar(21) CHARACTER SET utf8 NOT NULL,
  `KONT_TEL` varchar(12) CHARACTER SET utf8 NOT NULL,
  `email` varchar(10) CHARACTER SET utf8 NOT NULL,
  `PO_OD1` varchar(5) CHARACTER SET utf8 NOT NULL,
  `PO_DO1` varchar(8) CHARACTER SET utf8 NOT NULL,
  `PO_OD2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `PO_DO2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `PO_OD3` varchar(5) CHARACTER SET utf8 NOT NULL,
  `PO_DO3` varchar(5) CHARACTER SET utf8 NOT NULL,
  `UT_OD1` varchar(5) CHARACTER SET utf8 NOT NULL,
  `UT_DO1` varchar(8) CHARACTER SET utf8 NOT NULL,
  `UT_OD2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `UT_DO2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `UT_OD3` varchar(5) CHARACTER SET utf8 NOT NULL,
  `UT_DO3` varchar(5) CHARACTER SET utf8 NOT NULL,
  `ST_OD1` varchar(5) CHARACTER SET utf8 NOT NULL,
  `ST_DO1` varchar(8) CHARACTER SET utf8 NOT NULL,
  `ST_OD2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `ST_DO2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `ST_OD3` varchar(5) CHARACTER SET utf8 NOT NULL,
  `ST_DO3` varchar(5) CHARACTER SET utf8 NOT NULL,
  `CT_OD1` varchar(5) CHARACTER SET utf8 NOT NULL,
  `CT_DO1` varchar(8) CHARACTER SET utf8 NOT NULL,
  `CT_OD2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `CT_DO2` varchar(8) CHARACTER SET utf8 NOT NULL,
  `CT_OD3` varchar(5) CHARACTER SET utf8 NOT NULL,
  `CT_DO3` varchar(8) CHARACTER SET utf8 NOT NULL,
  `PA_OD1` varchar(5) CHARACTER SET utf8 NOT NULL,
  `PA_DO1` varchar(8) CHARACTER SET utf8 NOT NULL,
  `PA_OD2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `PA_DO2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `PA_OD3` varchar(5) CHARACTER SET utf8 NOT NULL,
  `PA_DO3` varchar(5) CHARACTER SET utf8 NOT NULL,
  `SO_OD1` varchar(4) CHARACTER SET utf8 NOT NULL,
  `SO_DO1` varchar(5) CHARACTER SET utf8 NOT NULL,
  `SO_OD2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `SO_DO2` varchar(5) CHARACTER SET utf8 NOT NULL,
  `SO_OD3` varchar(10) CHARACTER SET utf8 NOT NULL,
  `SO_DO3` varchar(10) CHARACTER SET utf8 NOT NULL,
  `NE_OD1` varchar(10) CHARACTER SET utf8 NOT NULL,
  `NE_DO1` varchar(10) CHARACTER SET utf8 NOT NULL,
  `NE_OD2` varchar(10) CHARACTER SET utf8 NOT NULL,
  `NE_DO2` varchar(10) CHARACTER SET utf8 NOT NULL,
  `NE_OD3` varchar(10) CHARACTER SET utf8 NOT NULL,
  `NE_DO3` varchar(10) CHARACTER SET utf8 NOT NULL,
  `KATEGORIE` varchar(50) CHARACTER SET utf8 NOT NULL,
  `search` text CHARACTER SET utf8 NOT NULL,
  `latitude` varchar(75) CHARACTER SET utf8 NOT NULL,
  `longitude` varchar(75) CHARACTER SET utf8 NOT NULL,
  `zdroj` varchar(75) COLLATE utf8_czech_ci NOT NULL,
  `web` varchar(75) COLLATE utf8_czech_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
nightfish
Profil
V dotazu ti chybí určení hodnoty sloupce ID. A protože tam ty sloupce nemáš vyjmenované, tak by to mělo skončit chybou Column count doesn't match value count at row ....
xxxadam577
Profil
Promiň,
Já jsem ve výsledku smazal to ID, takže tam není :)
Tomášeek
Profil *
xxxadam577:
Buď se řádek uloží, nebo to musí vypsat nějaký error, viz #2.

Mimoto, datové typy sloupců a jejich délku frkáš od oka, že? Maximálně desetiznaký email? Někdy od-do 5 znaké, jindy 10 znaků? Celkově ten návrh s indexovanými daty (odX-doX) je hrozný.
xxxadam577
Profil
jedná se o specifická data. Problém je v tom, že to error nehlásí a nezapíše se to.


ještě mě napadlo, že ošetřuju data pomocí

$web = $mysqli->real_escape_string($_POST['web']);
nightfish
Profil
xxxadam577:
Když si ten dotaz (i s hodnotami proměnných) vypíšeš, vložíš do Admineru a spustíš, tak se provede?
xxxadam577
Profil
Ano, provede se.
nightfish
Profil
xxxadam577:
Výborně. Takže víš, že je chyba ve tvém kódu. Pravděpodobně někde mimo ty dva řádky, které jsi nám zde ukázal.
xxxadam577
Profil
$mysqli->query("INSERT INTO tabulka values('test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', ''test', 'test', 'test', 'test','test', 'test', 'test','test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test', 'test')");    
vše jsem jednoduše nahradil, ale do DB se to nezapsalo :/


samozřejmě jsem buňky nastavil na VARCHAR 75


Vyřešeno jednou pro vždy!!!!
$mysqli->query("INSERT INTO `tabulka` (`PSC`, `NAZEV`, `ULICE`, `CP`, `CP_DOPLNEK`, `OBEC`, `OKRES`, `KONT_TEL`, `email`, `PO_OD1`, `PO_DO1`, `PO_OD2`, `PO_DO2`, `PO_OD3`, `PO_DO3`, `UT_OD1`, `UT_DO1`, `UT_OD2`, `UT_DO2`, `UT_OD3`, `UT_DO3`, `ST_OD1`, `ST_DO1`, `ST_OD2`, `ST_DO2`, `ST_OD3`, `ST_DO3`, `CT_OD1`, `CT_DO1`, `CT_OD2`, `CT_DO2`, `CT_OD3`, `CT_DO3`, `PA_OD1`, `PA_DO1`, `PA_OD2`, `PA_DO2`, `PA_OD3`, `PA_DO3`, `SO_OD1`, `SO_DO1`, `SO_OD2`, `SO_DO2`, `SO_OD3`, `SO_DO3`, `NE_OD1`, `NE_DO1`, `NE_OD2`, `NE_DO2`, `NE_OD3`, `NE_DO3`, `KATEGORIE`, `search`, `latitude`, `longitude`, `zdroj`, `web`) VALUES ( '".$psc."', '".$nazev."', '".$ulice."', '".$cp."', '".$cp_doplnek."', '".$obec."', '".$okres."', '".$telefon."', '".$email."', '".$po_od1."', '".$po_do1."', '".$po_od2."', '".$po_do2."', '".$po_od3."', '".$po_do3."', '".$ut_od1."', '".$ut_do1."', '".$ut_od2."', '".$ut_do2."', '".$ut_od3."', '".$ut_do3."', '".$st_od1."', '".$st_do1."', '".$st_od2."', '".$st_do2."', '".$st_od3."', '".$st_do3."', '".$ct_od1."', '".$ct_do1."', '".$ct_od2."', '".$ct_do2."', '".$ct_od3."', '".$ct_do3."', '".$pa_od1."', '".$pa_do1."', '".$pa_od2."', '".$pa_do2."', '".$pa_od3."', '".$pa_do3."', '".$so_od1."', '".$so_do1."', '".$so_od2."', '".$so_do2."', '".$so_od3."', '".$so_do3."', '".$ne_od1."', '".$ne_do1."', '".$ne_od2."', '".$ne_do2."', '".$ne_od3."', '".$ne_do3."', '".$kategorie."', '".$search."', '".$lat."', '".$long."', '".$zdroj."', '".$web."')");    
            echo "Přidáno";  
Tomášeek
Profil *
Vyjmenovanim sloupců, pokud ->error nic nehlásil, nemůže byt řešením problému. Chyba byla jinde.

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: