Zadejte hledaný výraz...

Dibi multiple insert

puhy.cz
verified
rating uzivatele
(5 hodnocení)
17. 5. 2022 16:07:31
Ahoj, trápím se tady s vložením více row pomocí dibi. Vytvořím si pole, něco jako toto, kde je postupně například třeba 10 nebo 100 produktů.  
            $insertArray[] = $kodZbozi;
            $insertArray[] = $title;
            $insertArray[] = $description;
            $insertArray[] = serialize($imgUrl);
            $insertArray = json_encode($addImageArray);
            $insertArray[] = $EAN;
            $insertArray[] = serialize($unit);
            $insertArray[] = serialize($category);
            $insertArray[] = $categoryText;
            $insertArray[] = $price;
            $insertArray[] = $priceVat;
            $insertArray[] = serialize($weightbr);
            $insertArray[] = serialize($special);
            $insertArray[] = serialize($delivery);
            $insertArray[] = serialize($special);
            $insertArray[] = serialize($facts);
            $insertArray[] = serialize($system);
            $insertArray[] = serialize($paramString);
            $insertArray[] = ($manufacturer);
            $insertArray[] = ($quantityDate);
            $insertArray[] = 1;
            $insertArray[] = date('Y-m-d H:i:s');
            $insertArray[] = 0;
No a teď to chci vložit do db:
Zkoušel jsem samozřejmě i operátory %a a %m. Podle mě by to mělo být s %m.
Nefunguje mi to. Jak k čertu vložím více položek takto najednou? Už tady na to koukám pár hodin, tak budu rád za jakékoliv nakopnutí. Díky.
Když tam mám %v tak to vrací něco jako 
když tam dám %m, tak to vrací: 
Nechci to vkládat po jednom řádku (to mi funguje), protože chci změřit rozdíl ve výkonu mezi vkládáním po jedné a po n záznamech. Jedná se o hodně dat a potřebujeme změřit výkon a vybrat nejlepší řešení.
Díky.
17. 5. 2022 16:07:31
https://webtrh.cz/diskuse/dibi-multiple-insert/#reply1502162
ViPErCZ
verified
rating uzivatele
(21 hodnocení)
17. 5. 2022 16:31:05
Dokumentace | dibi
17. 5. 2022 16:31:05
https://webtrh.cz/diskuse/dibi-multiple-insert/#reply1502161
puhy.cz
verified
rating uzivatele
(5 hodnocení)
17. 5. 2022 16:50:08
Díky, ano, to jsem četl. Jsem ale asi natvrdlej. To fakt musím z toho pole vytvořit string ve tvaru 
 a takhle mu to tam vkládat? To mu nejde nějak elegantně předat vícerozměrné pole?
17. 5. 2022 16:50:08
https://webtrh.cz/diskuse/dibi-multiple-insert/#reply1502160
ViPErCZ
verified
rating uzivatele
(21 hodnocení)
17. 5. 2022 21:23:31
Pisu z hlavy... ale tohle by neslo?
$records = ,
 
];
$database->query( 'INSERT INTO users', ...$records);
17. 5. 2022 21:23:31
https://webtrh.cz/diskuse/dibi-multiple-insert/#reply1502159
tomas505
verified
rating uzivatele
(10 hodnocení)
17. 5. 2022 21:32:17
Napsal puhy.cz;1645117
Díky, ano, to jsem četl. Jsem ale asi natvrdlej. To fakt musím z toho pole vytvořit string ve tvaru 
 a takhle mu to tam vkládat? To mu nejde nějak elegantně předat vícerozměrné pole?
To není žádný string, ale právě to elegantní vložení vícerozměrným polem, na které se ptáš. Jen ty vkládáš hodnoty do pole, kde klíčem je název sloupce, což je špatně, to už nemá být pole, ale jen ta hodnota. Naopak polem bude celý řádek, který vkládáš.
Tedy např:
což je to samé jako
atd..princip, který používáš, spíš směřuje k výslednému sql dotazu, kde jsou vkládané hodnoty pro daný sloupec opravdu sdružené za sebou, ale to už si dibi nebo nette db explorer sestaví samo.
17. 5. 2022 21:32:17
https://webtrh.cz/diskuse/dibi-multiple-insert/#reply1502158
puhy.cz
verified
rating uzivatele
(5 hodnocení)
19. 5. 2022 10:02:26
Takže nějak takhle? Stejně mi to nefunguje, jak to předám dibi? Zkoušel jsem %a, %v i %m.
Fatal error: Uncaught DibiDriverException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '`0`=
---------- Příspěvek doplněn 19.05.2022 v 10:17 ----------
Tak mi to funguje, ten insert musí vypadat takto: $result = dibi::query("INSERT INTO $import_tmp_table", ...$insertArray);
Co znamenají ty ...? Bez nich to nefunguje. 
19. 5. 2022 10:02:26
https://webtrh.cz/diskuse/dibi-multiple-insert/#reply1502157
Jiří
verified
rating uzivatele
(1 hodnocení)
19. 5. 2022 10:41:15
Splat operator:
syntax - What is the meaning of three dots (...) in PHP? - Stack Overflow
19. 5. 2022 10:41:15
https://webtrh.cz/diskuse/dibi-multiple-insert/#reply1502156
puhy.cz
verified
rating uzivatele
(5 hodnocení)
3. 5. 2023 10:56:46
Ještě se vracím k tomuto tématu. Jak prosím upravím zápis:
abych existující položky aktualizoval a nové přidal. Normálně používám ON DUPLICATE KEY UPDATE
, ale zde když tam je pole hodnot ...$insertArray nevím jak to použít. Díky.
3. 5. 2023 10:56:46
https://webtrh.cz/diskuse/dibi-multiple-insert/#reply1502155
Pro odpověď se přihlašte.
Přihlásit