Как в sql запрос вставить переменную php
Перейти к содержимому

Как в sql запрос вставить переменную php

  • автор:

Как вставить переменную в 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, можно использовать один из следующих вариантов:

  1. Использовать подготовленные запросы. Это позволяет избежать SQL инъекций и передавать переменные в запрос безопасным способом. Пример:
 $stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email'); $stmt->execute(['email' => $email]); $user = $stmt->fetch(); 
  1. Сформировать строку запроса с помощью конкатенации строк и передать ее в функцию выполнения запроса. Пример:
 $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].’&#39. ;
>
Что не так? Пишет 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *