Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1

Потупчик - вставка переменных в запрос

13.10.2012, 20:01. Показов 4073. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я перепробовал самые разные варианты - кавычки одинарные, двойные, конкатенация... НЕ РАБОТАЕТ!
Вот простой код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
session_start();
$reg_info = array(
    'name' => $_POST['name'],
    'e_mail' => $_POST['e_mail'],
    'password' => $_POST['password'],
);
$name = $reg_info['name'];
$e_mail = $reg_info['e_mail'];
$password = $reg_info['password'];
$reg_db = mysqli_connect('localhost', 'db', 'password');
mysqli_select_db($reg_db, 'db');
$isSet_user_tmp = mysqli_query($reg_db, 'SELECT * FROM users_db WHERE user_name="$name"');
$isSet_user = mysqli_fetch_array($isSet_user_tmp, MYSQLI_ASSOC);
echo "<pre>";
print_r(mysqli_error($reg_db));
//print_r($isSet_user_tmp);
if($isSet_user['name']){
    echo "this name is reserved";
}elseif($isSet_user['e_mail']){
    echo "this eMail id reserved";
}else{
    $reg_user = mysqli_query($reg_db, 'INSERT INTO users_db (user_name, e_mail, sequrity, path) VALUES ("$name", "$e_mail", "$password", "$name")');
}
$tmp = mysqli_query($reg_db, 'SELECT * FROM users_db');
$result = mysqli_fetch_array($tmp);
print_r ($result);
mysqli_close($reg_db);
?>
Не работает. Когда просто в запросе беру имя переменной в кавычки то в базу вставляется имя переменной а не её значение. В остальных случаях не вносится никаких данных вообще. В чём проблема? Я перепробовал всё что только мог и ничего не работает...
И +1 вопрос - как вставить переменную $_GET['var'] в запрос? Как экранировать кавычки?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2012, 20:01
Ответы с готовыми решениями:

Вставка переменных в текст
Ребят нужно в текст вставить переменные как это сделать ?

вставка переменных в шаблон
С помощью какого Web-языка программирования можно выполнить следующую задачу: Вставлять в готовый шаблон(например грамоты) имена и...

Вставка переменных в запросы
Я не долго занимаюсь php, но я делаю верные запросы, все работает в бд, вроде написано четко все, но блин, как вставлять переменные в...

26
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 20:05
PHP
1
$reg_user = mysqli_query($reg_db, "INSERT INTO `users_db` (`user_name`, `e_mail`, `sequrity`, `path`) VALUES ('{$name}', '{$e_mail}', '{$password}', '{$name}')");
Добавлено через 1 минуту
Цитата Сообщение от Proffessional Посмотреть сообщение
И +1 вопрос - как вставить переменную $_GET['var'] в запрос? Как экранировать кавычки?
PHP
1
$var = isset($_GET['var']) ? mysqli_real_escape_string($reg_db, trim($_GET['var'])) : '';
1
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
13.10.2012, 20:08  [ТС]
DrobyshevAlex, а апострофов я в доках не видел... Как его набрать?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 20:11
Сразу не досмотрел что вы юзаете mysqli.
Тогда можно не так, а чреез параметры сделать.

Добавлено через 50 секунд
обратный апостроф? для выделения имён полей? он на букве Ё вверху слева.

Добавлено через 1 минуту
Там очепятка вверху, скобку не ту поставил 1, я поправил
1
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
13.10.2012, 20:17  [ТС]
PHP
1
mysqli_query($reg_db, 'INSERT INTO `users_db` (`user_name`, `e_mail`, `sequrity`, `path`) VALUES ("{$name}", "{$e_mail}", "{$password}", "{$name}")');
Снова заносятся ИМЕНА перемнных, а не их ЗНАЧЕНИЯ. Что такое?.
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 20:19
Ваша строка
PHP
1
mysqli_query($reg_db, 'INSERT INTO `users_db` (`user_name`, `e_mail`, `sequrity`, `path`) VALUES ("{$name}", "{$e_mail}", "{$password}", "{$name}")');
Моя строка
PHP
1
mysqli_query($reg_db, "INSERT INTO `users_db` (`user_name`, `e_mail`, `sequrity`, `path`) VALUES ('{$name}', '{$e_mail}', '{$password}', '{$name}')");
Вы не видите разницу?)
1
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
13.10.2012, 20:22  [ТС]
значит именно двойными кавычками следует оформлять запрос? Я не думал что это так важно...
Спасибо! Я только вчера начал с бд работать
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 20:24
И я дал ссылку на функцию bind. Можете сделать так
PHP
1
2
3
4
$stmt = mysqli_prepare($reg_db, 'INSERT INTO `users_db` (`user_name`, `e_mail`, `sequrity`, `path`) VALUES (?, ?, ?, ?)');
mysqli_stmt_bind_param($stmt, 'ssss', $name, $e_mail, $password, $name);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
Так вы можете не заботиться о экранировании переменных.

Добавлено через 1 минуту
Ну вообще то это не БД сомтрит на кавычки, а php

PHP
1
2
3
$a = '123';
echo "$a"; // выведет  123
echo '$a'; // выведет  $a
1
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
13.10.2012, 22:50  [ТС]
Вот это да, сколько пишу на php а такой простой вещи не знал Спасибо.
С фигурными скобками не работает, а без них всё наконец-то поехало! Правда, обратные кавычки ничего не изменили, и в доках я их почему то не встречал...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
14.10.2012, 01:05
Proffessional, обратные кавычки (тильда) используются для обозначения мускульных названий (название полей, таблиц - все что связано с БД)
1
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
09.12.2012, 03:14  [ТС]
DrobyshevAlex, помогите, если можете... Я писал проект использую конструкцию, приведённую вами. Расчитывал на Mysql 5.5.1, но проект нужно поставить на mysql 5.0. Пожалуйста, подскажите, на что в таком случае заменить этот код для его нормальной работы под старым сервером бд?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
09.12.2012, 11:12
Proffessional, а в чем проблема? mysqli поддерживается начиная с MySQL 4.1. Все остальные плюшки касаются лишь версии php

Добавлено через 28 секунд
тем более MySQL 5.0 это не такой уж и старый сервер

Добавлено через 5 минут
вот, нашел кое-что.. http://php.net/manual/ru/mysqli.overview.php в самом низу таблица еще есть
0
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
09.12.2012, 17:33  [ТС]
KOPOJI, просто get_result() на сервере 5.0 отсутствует, как оказалось.. И я не знаю что с этим делать
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
09.12.2012, 17:42
Цитата Сообщение от Proffessional Посмотреть сообщение
get_result() на сервере 5.0 отсутствует
сервер не причем, надо просто вот это поставить http://php.net/manual/ru/book.mysqlnd.php
0
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
09.12.2012, 18:24  [ТС]
KOPOJI, а что делать, хостер ничего менять не будет, я спрашивал, отказались. Что тогда делать?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
09.12.2012, 18:32
в зависимости от объема кода.. переписать. либо сменить хостера, как вариант
0
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
09.12.2012, 18:33  [ТС]
KOPOJI, вот я как раз не знаю как переписать..
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
09.12.2012, 18:34
я, к сожалению, подсказать не могу, с mysqli только мельком знаком, особо не работал..

Добавлено через 33 секунды
Proffessional, перепиши на PDO, там нет таких проблем, насколько я знаю (по крайней мере ни разу не возникало)
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
09.12.2012, 18:58
Цитата Сообщение от Proffessional Посмотреть сообщение
KOPOJI, просто get_result() на сервере 5.0 отсутствует, как оказалось.. И я не знаю что с этим делать
что такое get_result?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
09.12.2012, 19:05
alpex, http://php.net/manual/ru/mysql... result.php

Добавлено через 3 минуты
Proffessional, я не знаю как еще можно с подготовленными выражениями получить результат..

Добавлено через 2 минуты

Не по теме:

насколько помню, из за этого и перешел на PDO когда-то - не понравилось что надо получать результат явно, используя дополнительную функцию

2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.12.2012, 19:05
Помогаю со студенческими работами здесь

Вставка переменных с форм в xml
Ребят help нужно что-бы с этой формы &lt;form name=&quot;MyForm1&quot; action=&quot;&quot; id=&quot;callbacks&quot; method=&quot;post&quot;&gt; &lt;div class=&quot;mx-auto&quot;...

Вставка переменных в большой текст
В строительной фирме мужикам надоело в ручную вписывать в договоры на оказание услуг имена заказчиков, даты, цены и тд. Как бы это можно...

Обмен значений переменных (Ассемблерная вставка в С++)
Привет, есть простая функция по обмену двух переменных, механизм обмена реализован через асм. вставку. В самой функции переменные...

Вставка относительных ссылок в формулу посредством переменных
Добрый день. я который раз возвращаюсь к одной загвоздке в своем макросе и никак не могу ее решить. помогите пожалуйста. есть...

Вставка в таблицу данных из другой программы и переменных одновременно c++ builder
Собственно, имеется таблица(table1) с 4мя столбцами, в нее нужно вставить строку, в которой два столбца это выборка(и) из другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru