$_SERVER['REQUEST_URI'] - возвращает строку '/electricity'. При помощи substr удаляю слэш и получаю electricity. При отправке запроса оно не может найти таблицу с таким названием. Хотя, когда я на прямую вставляю в запрос название таблицы 'electricity' он норм. отрабатывает. В чем может быть проблема?
require '../database/db.php';
$table = substr(1,$_SERVER['REQUEST_URI']);
$prev = htmlspecialchars($_POST['prev']);
$curr = htmlspecialchars($_POST['curr']);
$sum = htmlspecialchars($_POST['sum']);
$query = Data_Base::query("INSERT INTO `{$table}`(`previous_record`,`current_record`,`sum`) VALUES ({$prev},{$curr},{$sum})");
string substr ( string $string , int $start [, int $length ] )
У вас ошибка в параметрах. Поменяйте местами 1 и $_SERVER['REQUEST_URI']
Остерегайтесь подстановки непроверенных параметров от пользователя в запрос базы данных. Обратившись на адрес:
http://site.ru/table VALUES (1,2,3)`;DROP DATABASE `name`;INSERT INTO
В данном случае, злоумышленник получит возможность удалить вашу базу данных если имеется возможность выполнить несколько запросов. Это один из вариантов возможной атаки.
Пользуйтесь подготовленными запросами с проверкой параметров.
Документация по substr
Подготовленные запросы
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не судите строгоЭто можно сказать мой первый скрипт, который я разбираю и тот комом
Я уже использовал на практике WooCommerce api на определенной страницеРазобрался с тем как должен выглядеть путь запрос
Допустим, имеется категория Вода (id='500') а в ней есть подразделы