Приветствую! Необходимо добавить в БД примерно такого вида текст: Водка "Свояк". Получаю только первую часть... Водка :) Запрос выглядит так:
function updateBar(){
foreach ($_POST['name'] as $id=>$v)
$updBar= R::exec( 'UPDATE bar SET `name`="'.$_POST['name'][$id].'",price="'.$_POST['price'][$id].'"
WHERE id="'.$id.'"');
exit;
}
if (isset($_POST['name']) AND !empty($_POST['name'])) { // если массив не пуст запустим update();
updateBar();
}
-> Использую ORM redbaenphp <- Про функцию mysqli_real_escape_string(), читал. Пробовал так:
function updateBar(){
$link = R::setup('mysql:host=localhost; dbname=Cafe', 'root', '');
foreach ($_POST['name'] as $id=>$v)
$updBar= R::exec( 'UPDATE bar SET `name`="'. $link->real_escape_string($_POST['name'][$id]).'",price="'.$_POST['price'][$id].'"
WHERE id="'.$id.'"');
exit;
}
if (isset($_POST['name']) AND !empty($_POST['name'])) { // если массив не пуст запустим update();
updateBar();
}
...не работает.
Перед апдейтом конвертируйте вводные данные при помощи функции php htmlspecialchars
str_replace('"','\"',$name);
А вот так пробовал?
Не используйте подстановку текста из переменных непосредственно в запрос и тогда экранирование вам вообще не понадобится, интерфейс БД сам обо всем позаботится. Используйте привязку переменных. Примерно так:
$updBar= R::exec( 'UPDATE bar SET `name`=?,price=? WHERE id=?',
Array($_POST['name'][$id], $_POST['price'][$id], $id)
);
Взято из официальной документации
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Драсте такой вопрос есть таблица друзей и есть таблица пользователей алгоритм такой,
ЗдравствуйтеНе получается вычислить количество дней между двумя датами по условию: Задача такова, нужно выделить все элементы с датой создания...
Хочется что-то типа hello, world! Но не просто тупо вывести надпись, а создать простое приложение, поняв, как и что должно быть в фрэймворке yii2, базовые...