Есть код на обновление таблиц mysql но что-то не могу разобраться с кавычками, смысл в том, что в таблицу users нужно заполнить столбец proclist переменной lp , где ip определяется из переменной ownip. ,столбец ip уже заполнен
String[] insert = {"UPDATE `users` SET `proclist` = `" + lp + " ` WHERE `ip` = `" + ownip + "`"};
for (String sql : insert) {
stmt.executeUpdate(sql);
}
Окружите текстовые переменные одинарными кавычками, например:
ResultSet rs = stmt.executeQuery ("UPDATE `users` SET `proclist` = ' " + lp + " ' WHERE `ip` = ' " + ownip + " ' ");
Это связано с тем, что SQL ожидает, что строки будут окружены одинарными кавычками. Еще лучшей альтернативой было бы использование подготовленных запросов:
PreparedStatement stmt = con.prepareStatement ("SELECT * FROM` prices` WHERE `poster` =?");
Stmt.setString (1, плакат);
ResultSet rs = stmt.executeQuery ();
Рекомендуется использовать PreparedStatement, поскольку способ создания запроса (путем объединения строк) позволяет злоумышленнику вводить произвольный код SQL в запрос, угрозу безопасности, известную как SQL-инъекция.
НЕ создавайте SQL-команды, конкатенируя строки. Я думал, что мы давно это пережили. Это очень плохая практика и очень хороший способ создать ошибки и позволить огромные дыры в безопасности в ваших приложениях. Создание операторов SQL путем конкатенации строк - это рецепт катастрофы и плохой привычки, которую нужно убить до ее формирования.
Создай подготовленный запрос, и в цикле устанавливай параметры и выполняй запрос.
Также можно использовать pstmt.addBatch(); pstmt.executeBatch();
Пример
String sql =
"UPDATE GLOBALSETTINGS " +
" SET settingValue = ? " +
"WHERE settingName = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "40");
pstmt.setString(2, "SessionTTL");
pstmt.executeUpdate();
pstmt.setString(1, "20");
pstmt.setString(2, "MaxUsersActive");
pstmt.executeUpdate();
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости