Кавычки в sql запросе

Andir

Новичок
Здравствуйте форумчане. Никак не могу разобраться когда надо ставить кавычки в sql запросе, когда нет.
Например есть переменная $nameTable - имя таблицы в базе, необходимо из таблицы выбрать поля имена которых хранятся в переменых $row1,$row2,$row3
PHP:
$sqlGetRow="select  $row1,$row2,$row3 from $nameTable";
Если я использую переменные в строке sql запроса надо ли их заключать в кавычки?
В чем разница между обычной кавычкой ' и обратной ` ?
И ещё, при вставке данных в таблицу, значения которых хранятся в переменных, я сначала экранирую переменные, надо ли уже экранированные переменные заключать в кавычки, или все зависит от типа полей ?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
обратные кавычки обрамляют имена полей и таблиц, то есть `table`.`field` в заросах, но они не всегда нужны и как правило опускаются.

простые кавычки ' или " обычно просто служат для вставки переменных через конкатенацию, то есть

PHP:
$sql = 'SELECT '.$field1.', '.$field2.' FROM table';
А вообще идешь в мануал по мускулю и читаешь там про это все. А так же покупаешь книгу по php и ее тоже читаешь. Объяснять тут - это просто переписывать уже 100 раз написанное.

PS: так же одинарные кавычки используются для обрамления текстовых переменных в запросах вида

Код:
SELECT ... FROM ... WHERE field = 'something long with spaces or just var of text type'
 
Последнее редактирование:
Сверху