Autor | Zpráva | ||
---|---|---|---|
andynewcastleth Profil |
Vyřešeno.
|
||
Kajman Profil |
Něco jako
$fotky=array[]; cyklus ... $fotky[]="('$xml_id', '$xml_src', '$xml_alt')"; ... $hromadny_insert="INSERT INTO zajezd_foto (idIC, src, alt) VALUES " .implode(", ", $fotky); Je možné, že délka dotazu narazí na limit. Pak je potřeba rozdělit hromadný insert na více dotazů - nejlépe dle nastavení odkazované proměnné. |
||
andynewcastleth Profil |
Já uvnitř WHILE si vše ukládám do proměnné jako text:
while(...){ $query_foto=$query_foto."('', '$xml_id', '$xml_src', '$xml_alt'),"; } A jakmile celý WHILE doběhne, tak provedu vložení všech řádků najednou. $query_foto="INSERT INTO zajezdy_foto (id, idIC, src, alt) VALUES ".$query_foto; $query_foto=mb_substr($query_foto, 0, -1); //odstranim posledni carku mysqli_query($mysqli, "$query_foto") or die(mysqli_error()); Funguje dobře. Z nějakých 107 sekund jsem nyní na 3 sekundách běhu skriptu. Řešení s poli a implode jsem viděl na Google, ale nebyl jsem schopný to rozchodit... . |
||
Kajman Profil |
#4 · Zasláno: 14. 1. 2020, 08:07:16
S polem se lépe pracuje ve chvíli, kdy se musí programovat to rozdělení na více dotazů, protože by jeden byl až moc dlouhý.
|
||
lionel messi Profil |
#5 · Zasláno: 14. 1. 2020, 09:30:52
Mohol by prosím nejaký mmmoderátor vrátiť pôvodné znenie [#1]? Takéto vlákno trošku stratilo zmysel. Ďakujem.
|
||
Časová prodleva: 4 roky
|
0