привет всем, у меня такая проблема при выполнении etogo
$posts4 = null;
if($_POST['hero']) {
//var_dump($r);
$r = $_POST['hero4'];
$query = ' SELECT * FROM apranq_test WHERE type = "մոտորներ" AND param_2 = '$r' ' ;
//var_dump($query);
$select_op = mysqli_query($conn,$query);
$posts3 = mysqli_fetch_all($select_op, MYSQLI_ASSOC);
$posts4 = array_reverse($posts3);
//print_r($posts3);
//echo $posts3;
},
кода пишет syntax error, unexpected '$r' (T_VARIABLE) in 24 не мог найти проблему
Вставлять переменную в строку можно только если строка обрамлена двойными кавычками. В одинарных если написать echo '$r'
то и выведется $r
. Поэтому единственный вариант вставить переменную в строку с одинарными кавычками: закрыть строку кавычкой, сконкатинировать переменную, открыть строку кавычкой и добавить остальную часть не забыв закрыть снова.
Разница в строках: http://php.net/manual/ru/language.types.string.php
Примеры:
$myVar = 'Hello world!';
// строка с одинарными кавычками
$singleQuoteString = 'Привет мир по английски: '. $myVar .' Вот так!';
// строка с двойными кавычками
$doubleQuoteString = "Привет мир по английски: $myVar Вот так!";
// строка с двойными кавычками2 - для сложных переменных
$doubleQuoteString = "Привет мир по английски: {$myVar} Вот так!";
Если строка обрамлена в одинарные кавычки, то чтобы внутри описать еще кавычки — надо писать либо двойные "
, либо экранировать одинарные \'
$myVar = 'Hello world!';
// строка с одинарными кавычками
$singleQuoteString = 'Я печатаю строку "'. $myVar .'"';
// строка с одинарными кавычками 2 (трудночитаемый вариант)
$doubleQuoteString = 'Я печатаю строку \''. $myVar .'\'';
Двойных кавычек касается то же правило, что одинарные, только наоборот
$myVar = 'Hello world!';
// строка с двойными кавычками
$doubleQuoteString = "Я печатаю строку '$myVar'";
// строка с двойными кавычками 2 (трудночитаемый вариант)
$doubleQuoteString = "Я печатаю строку \"$myVar\"";
Чтобы не мучиться с подстановкой переменных в строку запроса (и не только поэтому) - следует использовать подготовленные запросы: http://php.net/manual/ru/mysqli.quickstart.prepared-statements.php | Защита от SQL иньекций в php
Вот так нехватает конкатинации и экранирования.
$query = ' SELECT * FROM apranq_test WHERE type = "մոտորներ" AND param_2 = \'' . $r . '\'';
Но так лучше не делать как уже писали http://php.net/manual/ru/mysqli-stmt.bind-param.php
А так?
$query = " SELECT * FROM apranq_test WHERE type = 'մոտորներ' AND param_2 = '$r' ";
$query = ' SELECT * FROM apranq_test WHERE type = "մոտորներ" AND param_2 = " '.$r.' " ' ;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Суть задачи: у меня в корне проекта лежит файл serverphp
Всем приветДелаю все по документации с официального сайта, но застрял на этом шаге
Добрый вечерВ задании необходимо было создать лес бинарных деревьев по введённым данным, единичное дерево было реализовано через класс:
У меня есть код на C++ с использованием qt: