Aktywne Wpisy
![uncle_freddie](https://wykop.pl/cdn/c0834752/22abe8fe39292ac771739f876ff3baa573f1f4983c8a33f6dcfcd32feb4563aa,q60.jpg)
uncle_freddie +99
Wędrująca ręka Thurama w poszukiwaniu tego, czego Interowi dzisiaj brakuje
MIRROR: https://streambug.org/cv/8e1140
#mecz #meczgif #ligamistrzow
MIRROR: https://streambug.org/cv/8e1140
#mecz #meczgif #ligamistrzow
![uncle_freddie - Wędrująca ręka Thurama w poszukiwaniu tego, czego Interowi dzisiaj br...](https://wykop.pl/cdn/c3201142/fbe0a2ddee0be4e392ba0c57746d2dd31ca981b805d246be950f618f0a8e3a0a,w150h100.jpg)
![Winogrono_bez_pestki1](https://wykop.pl/cdn/c0834752/c539fe541cc763765098d0487d15e0afb408aa66f1868e588d3c102f2224c33d,q60.jpg)
Odkąd tylko pamiętam nie lubiłam słodkich papryczek nadziewanych serem, ostre mogłam jeszcze zjeść, ale po słodkich to od razu odruch wymiotny. Pewnego dnia jednak, a był to 17 czerwca 2020 roku, miałam ogromną ochotę na owe papryczki i #!$%@?łam prawie całe dwa opakowania, w towarzystwie kanapki z szynką i keczupu. Następnego dnia chciałam spożyć dwie pozostałe papryczki, ale wszystko wróciło do normy i na sam ich widok miałam ochotę biec do kibla,
ERROR: column "lunch" does not exist. Nie wiem gdzie szukać problemu. Zapis wydaje mi się poprawny.
String DB_URL = "jdbc:postgresql:meals_db";
String USER = "postgres";
String PASS = "1111";
Connection connection = DriverManager.getConnection(DB_URL, USER, PASS);
connection.setAutoCommit(true);
Statement statement = connection.createStatement();
statement.executeUpdate("drop table if exists meals");
statement.executeUpdate("drop table if exists ingredients");
statement.executeUpdate("create table meals (" +
"category varchar(20)," +
"meal varchar(20)," +
"meal_id integer" +
")");
statement.executeUpdate("create table ingredients (" +
"ingredient varchar(50)," +
"ingredient_id integer," +
"meal_id integer" +
")");
System.out.println("Which meal do you want to add (breakfast, lunch, dinner)?");
String categoryOfMeal = getCategory();
System.out.println("Input the meal's name:");
String mealName = getMealName();
System.out.println("Input the ingredients:");
String ingredients = getIngredients();
meals.add(new Meals(categoryOfMeal, mealName, ingredients));
System.out.println("The meal has been added!");
int mealId = 1;
int id = 100;
statement.executeUpdate(String.format("insert into meals(category, meal, meal_id) values (%s, %s, %d)",
categoryOfMeal, mealName, mealId
));
statement.executeUpdate(String.format("insert into ingredients(ingredient, ingredient_id) values (%s, %d)",
ingredients, id));
statement.executeUpdate("insert into ingredients(meal_id)" +
"meal_id" +
"from" +
"meals");
statement.close();
connection.close();
#java
statement.executeUpdate(String.format("insert into meals(category, meal, meal_id) values (%s, %s, %d)",
categoryOfMeal, mealName, mealId
));
Robię to za pomocą tego. Czy ten zapis jest błędny ?
moze cos w tej klasie masz #!$%@? :)
ogólnie kompilator to się czepia ze nie masz KOLUMNY lunch , a nie tabeli, w tym kodzie co dałeś nigdzie nie wystepuje kolumna lunch, więc szukaj jej gdzieś głębiej np. wlasnie w klasie Meals , albo tutaj getCategory();
1.category
2.meal
3.mealid
I teraz jak skanuję dane -> categoryOfMeal tą wartość chcę dodać do kolumny "category", a mealName do kolumny "meal".
I to powinien robić ten zapis :
statement.executeUpdate(String.format("insert into meals(category, meal, meal_id) values (%s, %s, %d)",
categoryOfMeal, mealName, mealId
));
A tego nie robi.
@Kamishimi: Poczytaj o tym jak powinno się przekazywać parametry w takich poleceniach, czemu String,format jest złym wyborem i co ma to wspólnego z SQL-injection, które właśnie się Tobie wykonało. Wstrzyknąłeś nazwę posiłku jako nazwę kolumny tabeli, a złośliwie można dużo więcej tak popsuć ( ͡° ͜ʖ ͡°) #hackerman
źródło: radar3-418x350
Pobierzno i ogólnie docelowo się tak nie robi bo sql injection