Как вставить переменную в 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: Работа с базой данных
Как вставить переменные php в SQL запрос
Гость
If ($_POST[‘op’]!=»choose») $link2=mysql_connect(«localhost», «root», «»);// устанавливаем связь с сервером
mysql_select_db(«work»);// переключаемся на нужную нам базу данных
$dat = date(‘Y-m-d’);
$tim = date(‘H: i’);
$result2=mysql_query(INSERT INTO op VALUES (».$_GET[id].’,’.$dat.’,’.$tim.’,’.$_POST[op].’'. ;
>
Что не так? Пишет Parse error: syntax error, unexpected T_STRING…
Гость
лучший ответ Вот так работает
$title = $_POST[‘title’];
$url=TitleToURL($_POST[‘title’]);
$description = $_POST[‘description’];
$keywords = $_POST[‘keywords’];
$content = $_POST[‘content’];
$query ;
$res = mysql_query($query);
Так правильно ты не описал поля куда ты будешь данные вставлять
Имхо лучше так к базе подключаться и использовать конструкцию как у меня
$dbh = mysql_connect($database_host, $database_user, $database_pass) // подключение
or die(«Error: can’t connect to MySQL! Check your settings. «);
mysql_select_db($database_name) // выбор бд
or die(«Error: there isn’t a database with such name! Check your settings. «);
Beast Winterwolf
Я далёк от РНР, но точно знаю что функция mysql_query() принимает строку. INSERT INTO блаблабла… — это не строка, нужно брать в кавычки.
- Вложенный запрос SELECT в INSERT. Или переменные. SQL
- Как выбрать значения из SQL таблицы и внести их в переменные в php?
- Как вставить в строку таблицы MySQL (через SQL запрос phpMyadmin) 6000 логинов и паролей?
- Как правильно вписать в запрос к MySQL базе в качестве значений переменные? Помогите с синтаксисом
- SQL переменные
Новые вопросы
- Как упорядочивать номера записей в базе данных mysql?
- Код на PHP + mySQL механизм взаимодействия
- MySQL Error Not connection задолбала
- КАК СОЗДАТЬ СТОЛБЕЦ В MYSQL SAMP
- PHP MySQL выдернуть записи и тут же их удалить вернув результат
Как в запрос к MySQL поставить переменную
«SELECT name, surname FROM datacenter WHERE surname = ‘$surname'» А как вместо name и surname вставить переменную?
21 ноя 2012 в 23:40
«SELECT name, «.$varible.»FROM datacenter WHERE surname = «.$var.»»
22 ноя 2012 в 10:14
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
$surname = "Бухарова"; $result = mysql_query("SELECT name, surname, class_str, class_int FROM datacenter WHERE surname = '$surname'");
Отслеживать
ответ дан 19 ноя 2011 в 13:55
734 1 1 золотой знак 7 7 серебряных знаков 28 28 бронзовых знаков
Для ухода от возможных проблем с кавычками, если значение из локального окружения, и для избежания SQL-инъекций, если значение берется из GET или POST, есть смысл поставить экранирование mysql_real_escape_string()
19 ноя 2011 в 15:00
‘SELECT name, surname, class_str, class_int FROM datacenter WHERE surname = «‘. mysql_real_escape_string($surname) .'»‘;
19 ноя 2011 в 15:07
или в ‘$foo’ или без них, без разницы
$result = mysql_query(«SELECT name, surname, class_str, class_int FROM datacenter WHERE surname = $foo»);
Отслеживать
ответ дан 19 ноя 2011 в 15:05
1,824 2 2 золотых знака 20 20 серебряных знаков 47 47 бронзовых знаков
Как это без разницы?
19 ноя 2011 в 15:07
Сколько раз писал, никогда проблем не возникало.
19 ноя 2011 в 15:09
Быть такого не может! Строка всегда должна быть в кавычках. Учите матчасть.
19 ноя 2011 в 15:13
Не могло оно у вас работать. Повторюсь, строка всегда должна быть в кавычках. Без кавычек SQL-парсер будет пытаться проанализировать ее как набор SQL-операторов или названий таблиц, колонок и т.д.
19 ноя 2011 в 15:16
mysql_query() — не асинхронная функция. И передача строки с запросом, и его разбор сервером, и компиляция, и выборка и подготовка результата — все в одном флаконе функции mysql_query() . Поэтому ошибку SQL-синтаксиса он вернет не выходя из нее.
11 июл 2012 в 21:17
На счет подстановки переменных, СРАЗУ делайте правильно, а правильно значит переменную перед постановкой нужно хорошенько отфильтровать (это относится, если вы переменный подставляете из всяческих ПОСТ и ГЕТ запросов) я лично пользуюсь php placeholder пример
$query = sql_placeholder('select * from users where email=? and password=? limit 1', $_POST['email'], $_POST['pass']);
Отслеживать
ответ дан 8 апр 2012 в 7:38
224 6 6 серебряных знаков 22 22 бронзовых знака
- php
- mysql
-
Важное на Мете
Связанные
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.