Amazon bude poskytovat cloudové služby OpenAI. Cloudová divize Amazon Web Services (AWS) uzavřela s OpenAI víceletou smlouvu za 38 miliard USD (803,1 miliardy Kč), která poskytne majiteli chatovacího robota s umělou inteligencí (AI) ChatGPT přístup ke stovkám tisíc grafických procesů Nvidia. Ty bude moci využívat k trénování a provozování svých modelů AI. Firmy to oznámily v dnešní tiskové zprávě. Společnost OpenAI také nedávno
… více »Konference Prague PostgreSQL Developer Day 2026 (P2D2) se koná 27. a 28. ledna 2026. Konference je zaměřena na témata zajímavá pro uživatele a vývojáře. Příjem přednášek a workshopů je otevřen do 14. listopadu. Vítáme témata související s PostgreSQL či s databázemi obecně, a mohou být v češtině či angličtině.
Byl vydán Devuan 6 Excalibur. Přehled novinek v poznámkách k vydání. Kódové jméno Excalibur bylo vybráno podle planetky 9499 Excalibur. Devuan (Wikipedie) je fork Debianu bez systemd. Devuan 6 Excalibur vychází z Debianu 13 Trixie. Devuan 7 ponese kódové jméno Freia.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu poprvé překročil 3 %, aktuálně 3,05 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 27,18 %. Procesor AMD používá 67,10 % hráčů na Linuxu.
Joel Severin v diskusním listu LKML představil svůj projekt linuxového jádra ve WebAssembly (Wasm). Linux tak "nativně" běží ve webovém prohlížeči. Potřebné skripty pro převod jsou k dispozici na GitHubu.
Byla vydána nová verze 25.10.31 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
O víkendu probíhá konference OpenAlt 2025 (Stream). Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.
Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.
Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).
Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).
$cislo_clanku=1;
$pokracovat=1;
while ($pokracovat==1){
$clanekk=mysql_fetch_array(mysql_query('select * from clanky where id="'.$cislo_clanku.'"'));
if($clanekk['adr']==$_GET['read']){echo "bingo";$pokracovat=0;}
$cislo_clanku++;
}
Tedy je to cykl, který se bude provádět, dokud se mu neřekne dost (respektive nenastaví proměnná $pokracovat na 0).
Na nulu se to nastaví v případě že $clanekk['adr']==$_GET['read'], v db jsou dva záznamy v kolonce "adr" a to "ahoj" a "cau".
Bohžel ať je v proměnné $_GET['read'] "ahoj" nebo "cau" tak se zacyklí, proč?
Díky
PS. vím, že takhle se to nedělá, ale už jen z principu bych rád přišel na to, proč to nejede...
Fujtajbl :), žádné ošetření, procházení znovu a znovu novým selectem - to je docela fičák :)
ale ...
Dal bych před if toto
echo "['".$clanekk['adr']."' = '".$_GET['read']."']<br />";
a na konec
if($cislo_clanku > 1000) break;
a díval se co se vypíše - to je takový rychlý „debuger“ :)
ahoj a cau lze porovnávat pomocí = pokud to teda není jedno v UTF-16 a druhé v UTF-8, ale jinak bych doporučil strcmp()
['ahoj-ahoj ' = 'cau'] ['cau ' = 'cau'] ['' = 'cau'] ['' = 'cau'] ['' = 'cau'] ['' = 'cau'] ['' = 'cau'] ['' = 'cau'] ['' = 'cau'] ['' = 'cau'].............. TO SAME PORAT DOKOLAJinak, pokud jsou nyni v db 2 zaznamy, mel by se cykl vykonat maximalne 2x, ne se zacyklit...
No na tom je jasně vidět kam takový kód vede :)
Kdyby bylo ošetřeno mysql_query a mysql_query jasně by bylo vidět, že to (asi) na 3. smyčku vrací nulový počet řádků tudíž:
$clanekk === NULL
Pokud se jedná o PHP5 (i PHP4 s malou vyjímkou) tak pokud vložíš na začátku kódu
error_reporting(E_ALL | E_STRICT);//php4 (asi) error_reporting(E_ALL);
ini_set('display_errors', 'On');
Jistě tam vyjedou nějaká zajímavá hlášení :)
Jinak 'cau' a 'cau ' není překvapivě totéž :)
DOPORUČUJI jednoznačně kód ošetřit tzn. minimálně:
if(!($rs = mysql_query('select * from clanky where id="'.$cislo_clanku.'"')));
{
error
}
else
if(!($clanekk=mysql_fetch_array($rs)))
{
/*
pozor na mysqli_xxxx vrací NULL, mysql_xxx false
*/
error
}
else
{
pokracovat
}
}
Po důvodu braní záznamů po jednom nepátrám, jediné takovéto použití co mě napadá:
snad že řádek je moc veliký (např ø 1Mb) a je jich nekonečně mnoho a provádí se s řádkem nějaké operace a pak se zahodí.
V tom případě je to odůvodnitelné štření zdrojů na úkor výkonu.
Také nepátrám proč neporovnat v clausuli WHERE rovnou text :).
WHERE adr = ? a dosadit tam správně ošetřenou (escaping nebo lépe prepared statement) hodnotu $_GET['read']? Tenhle kód si přímo říká o DoS. I kdyby to někdo neudělal záměrně, stačí trochu větší návštěvnost a program si to zařídí sám. Takovými zdrojáky se straší malé servery, případně se objevují na The Daily WTF
Mimochodem, PHP má datový typ bool.
Tiskni
Sdílej: