V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.
Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.
Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.
Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.
$data=file_get_contents('http://adresa/soubor.sql');
mysqli_multi_query($data);
$soubor = fopen("./soubor.sql", "w");
fwrite($soubor, $data);
fclose($soubor);
mysql_query("SOURCE './soubor.sql' ");
Data v souboru jsou uloženy takto:
"INSERT INTO `tabulka` VALUES ('hodnota1,'hodnota2','hodnota3','hodnota4');"
"INSERT INTO `tabulka` VALUES ('hodnota1,'hodnota2','hodnota3','hodnota4');"
"INSERT INTO `tabulka` VALUES ('hodnota1,'hodnota2','hodnota3','hodnota4');"
"INSERT INTO `tabulka` VALUES ('hodnota1,'hodnota2','hodnota3','hodnota4');"
Řešení dotazu:
INSERT INTO `table`(`c1`, `c2`) VALUES ('foo1', 'bar1'), ('foo2', 'bar2'), ('foo3', 'bar3')
Tak bych se možná vyprdl na nějaké multiquery a prostě udělal něco jako
$sql = "INSERT INTO `table`(`c1`, `c2`) VALUES ";
foreach($file as $line)
{
$sql .= |řetězec mezi VALUES a středníkem v $line|
}
mysql_query($sql);
<?php
passthru("nohup mysql -u USERNAME -pPASSWORD DBNAME < dump.sql");
ale obávám se, že to na Endoře neprojde.
Asi by bylo jednodušší a bezpečnější posílat data na server ve formátu CSV nebo XML a následně je zpracovat skriptem. Tím se odstraní závislost na rozhraní konkrétního databázového stroje a také se tím import zrychlí.
INSERT INTO `tabulka` VALUES ('hodnota1,'hodnota2','hodnota3','hodnota4');
INSERT INTO `tabulka` VALUES ('hodnota1,'hodnota2','hodnota3','hodnota4');
tabulka,hodnota1,"hodnota2","hodnota3","hodnota4" item,hodnota1,"hodnota2" tabulka,hodnota1,"hodnota2","hodnota3","hodnota4" item,hodnota1,"hodnota2" item,hodnota1,"hodnota2"... prostě CSV ... nebo místo toho použít XML Je nutné si uvědomit, že SQL backup není určen pro přenášení dat, ale pro zálohování.
<?php
$con = new mysqli("localhost", "user", "password", "db");
if($con->connect_errno){
echo "Connect error: ".$con->connect_error."<br />\n";
exit();
}
//set $mq_data
...
$num = 0;
if($con->multi_query($mq_data))
for($num++;$con->next_result();$num++);
if($con->errno){
echo "Error querry №: $num.<br />\n";
echo "Error: ".$con->errno.", message: ".$con->error;
}
<?php
$db = new PDO("mysql:host=localhost;dbname=test", '', '');
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0);
$sql = <<<SQL
CREATE TABLE car (name varchar(8), type varchar(30));
INSERT INTO car(name, type) VALUES ('car1', 'coupe');
INSERT INTO car(name, type) VALUES ('car2', 'coupe');
SQL;
try {
$db->exec($sql);
} catch (PDOException $e) {
echo $e->getMessage();
}
Tiskni
Sdílej: