Вставка переменных в SQL — запрос. Python3
Подскажите плиз, не могу вставить в SQL-запрос значение в двойных кавычках.
Сам запрос выглядит так:
SELECT family,name FROM violations WHERE processing_state = 2 LIMIT AND violations.last_edit BETWEEN "2015-11-01" AND "2015-11-02")
Попытка вставить в проекте Python
vs = "2015-11-01" vs2 = "2015-11-02" sql=("SELECT family,name FROM violations WHERE processing_state = 2 LIMIT AND violations.last_edit BETWEEN %s AND %s") cur.execute(sql,(vs,vs2))
В итоге получаю ошибку вида
\'AND violations.last_edit BETWEEN \'\\"2015-11-01\\"\' AND \'\\"2015-11-02\\"\'\' at line 1'
Уже и в двойный, и в одинарные кавычки пытался заключать переменные vs и vs2, не помогает(
Для коннекта к БД Использую PyMySQL.
Как вставить переменную в LIKE в sql запросе?
Он работает. Но нужно, чтобы вместо «что нибудь» стояла переменная $search_theme. Она есть, с ней все хорошо.
LIKE '%".$search_theme."%'
Не работает.
Подскажите, пожалуйста, кто знает как правильно написать запрос.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как вставить переменную в sql запрос?
Так у меня выскакивают абоненты у которых номер телефона начинается на "5" procedure.

Как в с++ правильно вставить переменную в строку sql запроса?
Есть такой запрос: myQuery->SQL->Text = "SELECT f_department.CODE, f_department.NAME FROM.
Как вместо названия таблицы в sQL-запросе можно подставить переменную, данное название содержащую?
Проблема такая. Каким образом вместо названия таблицы в sQL-запросе можно подставить переменную.
Кто нибудь знает как вставить переменную VB 6.0 в запрос SQL MS Jet?
Subj Data1.RecordSource = ‘SELECT * FROM ObjectDataQuery WHERE ‘& testie &’ = 70′ формат запроса.
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
Сообщение от sergey-nv 
$query_theme = «SELECT * FROM profbases_struct_disc
WHERE section = ‘».$row[«id»].»‘ AND disciplin_code = ‘$disciplin_code’ AND theme LIKE ‘%что-нибудь%’ ORDER BY id ASC»;
заменить на
$query_theme = "SELECT * FROM profbases_struct_disc WHERE section = '".$row["id"]."' AND disciplin_code = '".$disciplin_code."' AND theme LIKE '%".$search_theme."%' ORDER BY id ASC";
Добавлено через 3 минуты
Сообщение от sergey-nv 
Пробовал так:
так должно работать
Если что-то не работает всегда надо проверять что попадает в запрос и как он выглядит до выполнения, например так:
echo "SELECT * FROM profbases_struct_disc WHERE section = '".$row["id"]."' AND disciplin_code = '".$disciplin_code."' AND theme LIKE '%".$search_theme."%' ORDER BY id ASC";
и дальше смотрим где ошибка, можно напрямую подставить в PhpMyAdmin, там также напишет синтакситеческую ошибку
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Вставить переменную между строк в запросе OPENROWSET
Здравствуйте! Изучаю T-SQL, добрался до linked servers, где связь с excel файлом. Встала задача.

Как в SQL запрос вставить вторую переменную? Одну получается, а вторую нет
Вместо переменной s% ввожу марку провода А-, АС-, АСИ-. и т.д. После дефиса у них число, равное.
Вставить переменную в запрос SQL
Здравствуйте! Почитал похожие темы, пробовал, как там предлагают решение, но все равно получаю.
Как вставить переменную java скрипт в php переменную
Здравия, форумчане! Извиняюсь за некорректность заголовка. Подскажите новичку, есть ли.
Как вставить в переменную текст и переменную вместе?
Вопрос для бывалых программистов наверное простой, но не где пока не нашел ответа. Подскажите.
SQL Server 2000 как в файле sql строковую переменную выполнить как инструкцию
Добрый день! Подскажите пожалуйста, как строковую переменную выполнить как инструкцию, например: .
Как в sql запрос вставить переменную php
Для того чтобы передать переменную в SQL запрос в PHP, можно использовать один из следующих вариантов:
- Использовать подготовленные запросы. Это позволяет избежать SQL инъекций и передавать переменные в запрос безопасным способом. Пример:
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email'); $stmt->execute(['email' => $email]); $user = $stmt->fetch();
- Сформировать строку запроса с помощью конкатенации строк и передать ее в функцию выполнения запроса. Пример:
$sql = "SELECT * FROM users WHERE email = '" . $email . "'"; $result = mysqli_query($conn, $sql); $user = mysqli_fetch_assoc($result);
Важно учитывать, что при использовании второго варианта возможна SQL инъекция, поэтому необходимо очищать переменные перед использованием их в запросе.
Для более детального изучения вопроса «SQL инъекции» рекомендуем просмотреть урок Безопасность при работе с внешними данными из курса PHP PDO: Работа с базой данных
Как вставить переменную в Sql-запрос?
По-грамотному это делается через параметризованные запросы:
private void SomeThing(string id) < string sqlExpression = "SELECT Abc, Def FROM [ParserDB] WHERE Id >@id"; using (SqlConnection connection = new SqlConnection(ConString)) < using (SqlCommand command = new SqlCommand(sqlExpression, connection)) < connection.Open(); SqlParameter nameParam = new SqlParameter("@id", id); command.Parameters.Add(nameParam); SqlDataReader reader = command.ExecuteReader(); // . >> >
Есть и более простой вариант (через форматирование строки), он проще, но небезопасный (есть возможность SQL-инъекций), поэтому не рекомендуется к использованию.
Также вариант с плейсхолдерами даёт возможность SQL-серверу кешировать планы выполнения запросов, см. например тут.