echo "SELECT SQL_NO_CACHE * FROM content WHERE category = 'new' AND title LIKE '%".mysql_real_escape_string($search)."%' GROUP BY thumb ORDER BY id DESC LIMIT $p, $limit";
$data = $db->getAll("SELECT * FROM t WHERE id IN (?a)", $params);
а для второго$sql = "SELECT user_id,password FROM user WHERE email = ?s";
$row = $db->getRow($sql, $email);
2. if($result) не нужно было делать и раньше. Если база даёт сбой - это гарантированный фейл, и надо аварийно завершать работу. А не писать "что-то пошло не так" и продолжать долбить неработающую базу запросами.mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
и после этого ловить ошибки в error handler-е или блоке catch.foreach($array_1 as $id => $chtoto) {
$stmt->execute([$id, $chtoto, $array_2[$i],$array_3[$i]]);
}
Как вариант, можно сформировать мультиинсерт опять же с помощью safeMysql:$ins = array();
foreach($array_1 as $id => $chtoto) {
$ins[] = $db->parse("(?i,?i,?i,?i)",$id, $chtoto, $array_2[$i],$array_3[$i]);
}
$instr = implode(",",$ins);
$db->query("INSERT INTO `MyTable` (`a`, `b`, `c`, `d`) VALUES ?p", $instr);
Если вы метите в джуниоры, то вам нужно несколько изменить порядок книг в вашей очереди.
Отложите алгоритмы и TDD на последнюю очередь -- это безусловно очень важные темы, но для вашей цели не первоочередные.
Познакомьтесь с паттернами (GoF) и "Рефакторингом" Фаулера.
Прочитайте вдумчиво английское издание Effective Java Джошуа Блоха. Не загромождайте (поначалу) голову паззлерами.
Ну и, наконец, сформируйте то, что нужно работодателю -- кругозор. Получите представление о вещах, вращающихся вокруг Java. Вот вам набор ключевых слов: Java Collections Framework, Java EE, Spring Framework, Maven, Glassfish, JDBC... Не нужно углубляться. Осознайте, что это такое. Изучите туториалы.
Я считаю, для поставленной цели этого достаточно.