Php mysql переменные в строке

Вставить переменную PHP в запрос INSERT INTO MySQL

Я пытаюсь вставить переменную PHP в запрос “INSERT INTO” MySQL. Я попробовал много комбинаций без везения.

$sql = 'INSERT INTO 'mse_names' ('id', 'name', 'day') VALUES (NULL, ".$testing_for.", \'test_day\');'; mysql_query($sql); 

Я могу подтвердить, что $ testing_for содержит строку – я проверил это, вызывая var_dump прямо перед этим.

Любая помощь очень ценится, спасибо заранее

* edit: извините, забыли упомянуть, что эти входы. $ testing_for. и проверить в столбцах уважения, когда я смотрю в таблицу, используя phpmyadmin *

Оу..

$sql = 'INSERT INTO 'mse_names' ('id', 'name', 'day') VALUES (NULL, "'.$testing_for.'", "test_day");'; 

Это было уловлено редактором SO markdown ^ _ ^

Вы должны использовать двойные кавычки, если вы хотите напрямую вставлять переменные в строки:

$sql = "INSERT INTO 'mse_names' ('id', 'name', 'day') VALUES (NULL, '$testing_for', '$test_da');"; 

Или просто используйте . оператор:

$sql = 'INSERT INTO 'mse_names' ('id', 'name', 'day') VALUES (NULL, "'.$testing_for.'", "'.$test_da.'");'; 

Здесь я вставляю две переменные с текущей датой

$ var1 = “1”;
$ var2 = “phpmyadmin”;

$sql = 'INSERT INTO Table_name ('id', 'name', 'datetime') VALUES ("'.$var1.'", "'.$var2.'", now());'; 

now() → теперь функция вставляет текущую дату и время

Ваш $ sql находится в пределах одного апострофа, поэтому использование цитаты, чтобы оставить строку, не работает. Либо изменение

".$testing_for." to '.$testing_for.' 

Почему конкатенация строк?

Вы можете сделать это прямо:

$sql = "INSERT INTO 'mse_names' ('id', 'name', 'day') VALUES (NULL, '$testing_for', 'test_da');"; 

Но если вы хотите, вы можете сделать также:

$sql = "INSERT INTO 'mse_names' ('id', 'name', 'day') VALUES (NULL, '".$testing_for."', 'test_da');"; 
$sql = "INSERT INTO mse_names (id, name, day) VALUES (null, '" . $testing_for . "', 'test_day')"; mysql_query($sql) 
 $sql = 'INSERT INTO 'mse_names' ('id', 'name', 'day') VALUES (NULL, "'.$name.'", "day");'; 

Он просто так работает. Проверено I’v

$ insertDetais = mysql_query (“INSERT INTO Лица (имя_пользователя, poNumber, mobileNumber, emailAdd, оценка, информационный бюллетень, guessFinal) VALUES (‘$ userName’, ‘$ poNumber’, ‘$ mobileNumber’, ‘$ emailAdd’, ‘$ оценка’, ‘$ newsletter’, ‘$ guessFinal’) “, $ conMySQL);

Источник

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

Вопрос:
Как правильно оформить вставку переменных в этот запрос?

Оценить 1 комментарий

А точки-то зачем? для прайса можно взять between, если это числа. Попробуйте написать сначала запрос или в консоли, или в чем-то типа phpmyadmin, если он есть.

FanatPHP

Только. Через. Плесхолдеры.
Любой, кто отвечает иначе — тупой нуб, застрявший в прошлом веке и так и не осиливший даже азы программирования.

Соответственно, тебе нужна библиотека, которая поддерживает плейсхолдеры. Хотя старушку mysql ext можно заставить, но для новичка лучше всего подойдет PDO.

$sql = "SELECT * FROM mytable WHERE city = ? AND price BETWEEN ? AND ? AND type = 'Продать'"; $stmt = $pdo->prepare($sql); $stmt->execute([$_POST['city'], $_POST['area'], $_POST['price']-50, $_POST['price']+50]); $data = $stmt->fetchAll();

Как соединяться с БД и вообще про PDO читай здесь: phpfaq.ru/pdo

А твоя ошибка вызвана опечаткой и неправильной обработкой ошибок.
Во-первых, у тебя в какой-то из запросов передается пустая строка — скорее всего, из-за опечатки
Во-вторых, если бы в РНР было включено нормальное отображение ошибок, то РНР тебе бы сам ругнулся на эту опечатку.
В-третьих, если бы ошибки mysql обрабатывались по-человечески, то РНР тоже указал бы на тот конкретный запрос, который оказался пустым. И ты бы не хватался вместо него за первый попавшийся.

Источник

Как в 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: Работа с базой данных

Источник

Вывод данных из MySql на PHP

Счетчик PR-CY.Rank

Первое, что нам следует сделать для того, чтобы получить данные из таблицы базы данных, — установить соединение с БД.

Извлечь данные из таблицы MySql

После того, как мы установили соединение с БД, c помощью запроса можно получить данные из любой таблицы. А с помощью цикла while их вывести.

Теперь давайте разберем функции, которые мы использовали для вывода данных из MySql.

mysqli_connect

mysqli_connect(, , , ) — устанавливает соединение с базой данных.

mysqli_query

mysqli_query(, ) — выполняет запрос к БД, написанный на языке SQL.

mysqli_fetch_array

mysqli_fetch_array() — поочередно возвращает по одной строке из результата запроса.

Вывод переменной врутри строки

Заметьте, что если вы выводите строку оператором echo и строка заключена в двойные кавычки (именно двойные), то внутрь строки можно вставлять переменные в фигурных скобках и они будут подставленны в этот шаблон. Круто, да?

Крутов Герман

Понравилась или помогла статья? Самое лучшее, что ты можешь сделать — это поделиться ею в любой из своих соцсетей (даже если ты поделишься в твиттере или google+, которыми ты не пользуешься — это очень поможет развитию моего блога). Спасибо! А если ты еще и оставишь любой комментарий снизу в обсуждениях, то это будет двойное СПАСИБО!

Ссылка на статью на всякий случай:

PersonКрутов Герман © 2009-2023 Emailkrutovgerman2007@ya.ru VK SocialЯ ВКонтате

Источник

Читайте также:  Html код страницы помещается внутри контейнера
Оцените статью