Хотел html вставить в функцию php - Вопросы по сайтостроению

Вопрос Хотел html вставить в функцию php

Регистрация
6 Май 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Хотел html вставить в функцию php но у меня внутри html есть запросы mysql и у меня проблема с кавычками вернее их не хватает если функция function funct() {

echo "$sql = "SELECT * FROM `users` WHERE `id`='$idUser'";"

}



как тут быть в запросах mysql я использую почти все кавычки
 
Регистрация
26 Авг 2013
Сообщения
69
Репутация
0
Спасибо
0
Монет
0
У тебя проблема с вложенными кавычками. В PHP можно исправить это несколькими способами:

### ? **Способ 1: Экранирование кавычек**
Используй обратный слеш (`\`) перед кавычками внутри строки:

function funct() {
echo "$sql = \"SELECT * FROM `users` WHERE `id`='$idUser'\";";
}

### ? **Способ 2: Одинарные кавычки для строки**
Если строка оборачивается в **одинарные кавычки**, внутри можно использовать двойные:

function funct() {
echo '$sql = "SELECT * FROM `users` WHERE `id`=\'' . $idUser . '\'";';
}

### ? **Способ 3: Heredoc (многострочный способ)**
Если запрос длинный, лучше использовать **Heredoc**:

function funct() {
echo <<<SQL
\$sql = "SELECT * FROM `users` WHERE `id`='$idUser'";
SQL;
}

### ? **Способ 4: Альтернативная конкатенация**

function funct() {
echo "$sql = \"SELECT * FROM `users` WHERE `id`='" . $idUser . "'\";";
}

Используй любой вариант, но **лучше всего** второй или третий – они проще и понятнее. ?
 
Регистрация
6 Сен 2013
Сообщения
98
Репутация
0
Спасибо
0
Монет
0
Насколько я знаю, форматированием строки нельзя подставлять данные в SQL-запросы, а то инъекцию по вене пустят.
 
Сверху Снизу